gpt4 book ai didi

Python - 无法让简单的 while 循环工作(学生项目)

转载 作者:行者123 更新时间:2023-12-05 03:24:48 25 4
gpt4 key购买 nike

我希望有人能帮助我完成一个学校项目。

问题是——

一所大学想要打印出有多少学生未能通过第一年的数学期末考试。每条记录都包含学生的编号、姓名、数学分数和可能的最高分数。每个学生都必须有一份报告,上面印有他或她的号码、姓名、百分比和说明是否达到合格或不合格的备注(50% 及以上为合格)。继续处理,直到输入学生编号 0。计算有多少学生不及格,以及学生总数,并打印这些总数

我正在尝试从用户输入中获取学号到循环或跳出循环,但我无法让它工作。

我已经多次更改我的代码,但这是我最后一次尝试 -

total_students = 0
total_fail = 0

while True:
student_number = int(input("what is your student number? "))
name = input("What is your name?")
math_score = int(input("Math score?"))
max_score = int(input("Max score? "))

if student_number == 0:
print(total_fail)
print(total_students)

if math_score / max_score * 100 >= 50:
print("You passed")
total_students += 1

elif math_score / max_score * 100 < 50:
print("You failed")
total_fail += 1
total_students += 1

最佳答案

while 循环的缩进不正确,并且由于您希望程序在学号为 0 后停止,因此必须使用 break。有关它的更多信息,请查看 this out.

total_students = 0
total_fail = 0
while True:
student_number = int(input("what is your student number? "))
name = input("What is your name?")
math_score = int(input("Math score?"))
max_score = int(input("Max score? "))

if student_number == 0:
print(total_fail)
print(total_students)
break

if math_score / max_score * 100 >= 50:
print("You passed")
total_students += 1

elif math_score / max_score * 100 < 50:
print("You failed")
total_fail += 1
total_students += 1


关于Python - 无法让简单的 while 循环工作(学生项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72212048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com