让我首先说我知道之前已经问过类似的问题,我浏览了它们,但没有一个对我有帮助。我必须使用函数在python中创建这个程序。功能仍然让我感到困惑。我在下面提出了这个问题。我不明白我哪里错了。任何帮助都非常有用。谢谢你们的任何人。
def main():
score1 = int(input('Enter grade 1: ')
score2 = int(input('Enter grade 2: ')
score3 = int(input('Enter grade 3: ')
score4 = int(input('Enter grade 4: ')
score5 = int(input('Enter grade 5: ')
average = calc_average(score1, score2, score3, score4, score5)
print('Your average score is ', average)
determine_grade(average)
def calc_average(score1,score2,score3,score4,score5):
avscore = (score1 + score2 + score3 + score4 + score5)/5
return avscore
def determine_grade():
if avscore < 60:
print('Average score:', avscore , 'F')
elif score >=60 and <=69:
print('Average score:', avscore , 'D')
elif score >=70 and <=79:
print('Average score:', avscore , 'C')
elif score >=80 and <=89:
print('Average score:', avscore , 'B')
elif score >=90 and <=100:
print('Average score:', avscore , 'A')
else:
print('Error: This is not a number inbetween 0 and 100.')
return avscore
main()
答案 0 :(得分:0)
在最上方你的得分1,得分2,...输入缺少一个&#34;)&#34;在末尾。但是代码中有一些不同的东西。除了语法和变量命名之外,阻止其工作的主要因素是行determine_grade(average)
,您尝试将该函数传递给您的平均分数,但在定义该函数时,您不会对该函数有任何参数
为其添加一个参数并修复elif语句(and <=69
不起作用,因为您需要重新说明您要比较的内容,即and score <=69
或其他内容
还要注意你所谓的变量,因为在函数之间来回传递它们会让人感到困惑。在您的determine_grade函数中,您正在使用&#34; avscore&#34;和&#34;得分&#34;互换。
如果您修复了这些问题,代码运行正常。