首先我要说,我知道以前也有人问过类似的问题,我浏览过它们,但没有一个对我有帮助。我必须使用函数在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()
好吧,在最前面你得1分,2分,。。。输入末尾缺少“)”。但是代码中有一些不同的东西被破坏了。除了语法和变量命名之外,阻止它工作的主要原因是
determine_grade(average)
行中,您试图将该函数传递给您的平均分数,但在定义该函数时没有任何参数。在为此添加一个参数并修复elif语句(
and <=69
不起作用,因为您需要重述与之比较的内容,例如and score <=69
或其他内容)另外,还要注意变量的名称,因为在函数之间来回传递变量时可能会混淆。在determine_grade函数中,可以互换使用“avscore”和“score”。在
如果您修复了这些问题,代码运行良好。在
相关问题 更多 >
编程相关推荐