我正在尝试创建一个要求学生姓名和成绩的python程序,但我需要验证这些分数,假设考试时间超过20,那么该分数不应小于零或大于20所以我使用while循环来做到这一点,但是当我运行它时,每个标记都会出现错误,这是我的代码
Student_Name = [str]
Test1 = [int]
for i in range(3):
Student_Name = raw_input("please input the name of Student {}: ".format(i+1))
Test1 = raw_input("please input the mark for Test1 of {}: ".format(Student_Name))
while Test1 > 20 or Test1 <0:
print "invalid"
Test1 = raw_input("please Reinput mark of {}: ".format(Student_Name))
答案 0 :(得分:1)
提供的代码存在许多问题。首先,for循环的缩进是关闭的。其次,您对名为Student_Name1
和Test1
的列表以及名为Student_Name1
和Test1
的输入变量使用了相同的名称。第三,Python中的raw_input
返回str
,您需要将其强制转换为int
。
student_names = [str]
tests = [int]
for i in range(3):
student_name = raw_input("please input the name of Student {}: ".format(i+1))
test_score = int(raw_input("please input the mark for Test1 of {}: ".format(student_name)))
while test_score > 20 or test_score < 0:
print "invalid"
test_score = int(raw_input("please Reinput mark of {}: ".format(student_name)))
此代码应该提供您正在寻找的内容,或者至少是一个很好的参考。