我刚刚编写了一个程序,该程序将提供通过和不及格的学生人数,分数,字母等级和平均班级成绩。我认为代码不起作用,因为它仅通过collect()而不通过calculate()和passer()。有谁知道我该如何连接这三个功能?
祝您有美好的一天!! :)
我的代码:
var window = true
答案 0 :(得分:3)
我已修复您的代码。问题是您想从passer()
和average()
函数中打印出值。为了在函数之外执行此操作,必须使用global
关键字。这些变量将在整个文件中可用。
def passer():
global s_fail, s_pass
s_fail = 0
s_pass = 0
for element in list_score:
if element == 'F':
s_fail += 1
else:
s_pass += 1
def average(list_grade):
global average_grade
average_grade = sum(list_grade)/len(list_grade)
calculate()
下一个问题是print()
函数。您无法打印int
类型的值。您必须将代码更改为以下
print ("Number of students that failed: " + str(s_fail))
print ("Number of students that passed: " + str(s_pass))
print ("Marks: " + str(list_grade))
print ("Letter grades: " + str(list_score))
print ("Average class grade: " + str(average_grade))
但是,您可以打印int
类型的值,但是必须使用f string
并且代码看起来会
print (f"Number of students that failed: {s_fail}")
print (f"Number of students that passed: {s_pass}")
print (f"Marks: {list_grade}")
print (f"Letter grades: {list_score}")
print (f"Average class grade: {average_grade}")