在这种情况下如何打破循环?

时间:2020-07-19 11:25:15

标签: python function loops break

我刚刚编写了一个程序,该程序将提供通过和不及格的学生人数,分数,字母等级和平均班级成绩。我认为代码不起作用,因为它仅通过collect()而不通过calculate()和passer()。有谁知道我该如何连接这三个功能?

祝您有美好的一天!! :)

我的代码:

var window = true

1 个答案:

答案 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}")
相关问题