Python 如何将用户的多个输入传递给函数?
我想知道考试、作业、测验和实验的数量。然后将这些值传递给函数,以获得类别中每个项目的分数 如何传递多个值以便在函数中使用Python 如何将用户的多个输入传递给函数?,python,python-3.x,Python,Python 3.x,我想知道考试、作业、测验和实验的数量。然后将这些值传递给函数,以获得类别中每个项目的分数 如何传递多个值以便在函数中使用 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
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()
要记住的要点
列表
get_scores
中,我使用了列表理解。也可以使用for循环:for s:score_列表中的项;返回分数列表
。列表的理解更清晰、更通俗李>
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()
这里有一个包含用户输入的所有值的dict。您可以返回多个内容
返回a、b、c
,然后像这样将它们取出x、y、z=func()
@是的,解决了所有这些问题。@aIKid现在好了吗?[0]*num
对于整数很好,因为它们是不可变的。非常感谢,这很有帮助。