[英]How to pass multiple inputs from the user to a function?
我正在尝试获取测试,作业,测验和实验室的数量。 然后将这些值传递给函数以获取类别中每个项目的得分。
如何传递多个值以便可以在函数中使用它们?
def get_initial_input():
int(input("How many assignments? "))
int(input("How many quizzes? "))
int(input("How many labs? "))
int(input("How many tests? "))
#Trying to pass all the values entered above to the function below
#Using 'return' I can only pass one value
def get_scores(s):
for x in range(len(s)):
s[x] = int(input("Give a score: "))
def main():
num = get_initial_input()
scores = [0] * num
get_scores(scores)
total = 0
for x in range(len(scores)):
total += scores[x]
print("The sum is: "+str(total))
if total > 0:
print("The average is: "+str(total/num))
if (total/num) > 100:
print("You got extra credit!")
main()
您需要存储返回的输入:
assignments = int(input("How many assignments? "))
现在,您可以使用一个变量。 您需要从函数中返回该值:
def get_initial_input():
assignments = int(input("How many assignments? "))
quizzes = int(input("How many quizzes? "))
labs = int(input("How many labs? "))
tests = int(input("How many tests? "))
return assignments, quizzes, labs, tests
当存储函数调用的返回值时:
assignments, quizzes, labs, tests = get_initial_input()
将它们分配给变量:
assigments = int(input("How many assignments? "))
quizzes = int(input("How many quizzes? "))
存储它们之后,您可以返回全部:
return [assigment, quizzes,...]
希望这可以帮助!
def get_initial_input():
input_list = []
input_list.append(int(input("How many assignments? ")))
input_list.append(int(input("How many quizzes? ")))
input_list.append(int(input("How many labs? ")))
input_list.append(int(input("How many tests? ")))
return input_list
def get_scores(s):
return [ int(input("Give a score: ")) for x in s]
#use list comprehensions
def main():
input_list = get_initial_input()
scores = get_scores(input_list)
total = sum(scores)
num = sum(input_list) # I am assuming this
print("The sum is: "+str(total))
if total > 0:
print("The average is: "+str(total/num))
if (total/num) > 100:
print("You got extra credit!")
main()
要记住的要点。
list
(如果其中之一)。 get_scores
,我使用了列表get_scores
。 也可以使用for循环来完成: for item in s: score_list.append(...); return score_list
for item in s: score_list.append(...); return score_list
。 列表理解更加简洁,并且具有Python风格。 sum
。 Python具有内置函数来执行此操作。 只需使用sum(list)
。 内建功能 您可以返回能够保存所有值的任何对象。
元组示例
def get_initial_input():
return tuple( int(input("How many "+q+"? ")) \
for q in ["assignments", "quizzes", "labs", "tests"] )
assignments, quizzes, labs, tests = get_initial_input()
了解如何将元组分配给几个变量。
字典示例:
def get_initial_input():
res={}
for q in ["assignments", "quizzes", "labs", "tests"]:
res[q] = int(input("How many "+q+"? "))
return res
config = get_initial_input()
在这里,您有一个字典,其中包含用户输入的所有值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.