【问题标题】:Average grades and "if"平均成绩和“如果”
【发布时间】:2021-02-23 10:37:28
【问题描述】:

我之前的问题已经结束,所以我用提供的代码制作了一个新问题。

assignments = 5

x = [int(input('Ocena z cwiczenia {}: '.format(i+1))) for i in     range(assignments)]


finalGrade = int(input('Ocena z kolokwium: '))

average_assignment_grade = (sum(x) + finalGrade) / 6

print()
print('Średnia')


for number in range(1):
    print(format(average_assignment_grade, '.1f'))

A.append(average_assignment_grade);



grades_sum = sum(A)
grades_average = grades_sum / 6
if grades_sum < 3 print ("Przedmiot nie zaliczony")
else print("Przedmiot zaliczony")

我得到的错误:

File "<ipython-input-43-fe40b7e5825c>", line 23
if grades_sum < 3 print ("Przedmiot nie zaliczony")

这就是代码。如您所见,我希望它显示学生是否通过(它是波兰语,“Przedmiot nie zaliczony”-未通过,“Przedmiot zaliczony”-通过)但我收到了无效的语法错误。我查看了我的笔记,我按照他们说的做了一切,但显然出了点问题,我不知道是什么。你现在可以帮忙吗?

【问题讨论】:

  • 你必须显示错误。调试问题会更容易
  • 您似乎对python语法不熟悉。请阅读一些基本教程,例如this。这会告诉您您在 if 语句的末尾缺少 :
  • 条件语句中缺少:,应该是if x:else:

标签: python python-3.x anaconda average


【解决方案1】:

错误与您的 if/else 语句有关。你应该这样写:

if grades_sum < 3:
    print("something")
else:
    print("something else")

编辑:

您提供的代码中也从未定义过 A。

【讨论】:

    【解决方案2】:

    @joostblack 谢谢你,你帮了我很多。我知道我缺乏基础知识。 我想更进一步,创建一个“x”可以是什么的列表(仅限 2、3、4 或 5)。 列表(2, 3, 4, 5)

    assignments = 5
    A = 5
    
    list = [2, 3, 4, 5]
    x = [int(input('Ocena z cwiczenia {}: '.format(i+1))) for i in range(assignments)]
    
    if x in list:
    print("ok")
    else:
    print("no ok")
    

    它显示了这个错误:

    File "C:\Users\Wojtek\Desktop\untitled2.py", line 9, in <module>
    list(2, 3, 4, 5)
    
    TypeError: list expected at most 1 argument, got 4
    

    我不知道这个列表有什么问题以及为什么它说它只能包含 1 个参数。问题是如何使列表能够有超过 1 个参数,如果书面参数不在列表中,它将显示“不可以”。

    【讨论】:

    • 这真的应该是一个问题而不是一个答案。首先,您的打印语句需要缩进。其次,最好不要命名您的列表列表,因为单词列表已经在 python 中用于不同的事物。最后你想让你的代码做什么?您想比较 5 个用户输入并打印 5 次 ok/not ok 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多