【发布时间】:2014-12-07 23:08:31
【问题描述】:
我是一个刚入门的程序员,我正在尝试为大学教授创建一个成绩簿程序,以便他可以输入他的期中和期末考试成绩,并获得每个学生每门课程的平均成绩和字母成绩.该程序应该获取课程编号、课程级别、考试数量和学生信息(ID 和考试分数)的输入。
起初我想创建一个以 ID 为键,平均值为值的字典,但后来似乎不起作用,所以我开始尝试创建带条件的 while 循环。
基本上代码是一团糟,我不确定我做错了什么。我已经在网上观看了教程并阅读了很多东西,但我正在为此碰壁。一方面,我在第 22 行使用 elif 语句不断收到 Invalid Syntax 错误。任何人都可以为此提供任何帮助,我们将不胜感激!对于我在这里遗漏的任何内容提前道歉 - 我对这一切都很陌生。
谢谢!
print("Hello! Welcome to your Grading Program!\n")
courseCode = input("Please enter the course code : ")
courseLevel = input("Please enter the course level : ")
numberExams = float(input("Please enter the number of exams : "))
enterStudents = input("Would you like to input a student, Yes or No? : ")
student = 0
while enterStudents == "Yes" or "yes" or "y" or "Y" :
if courseLevel == "undergrad" or "Undergrad" or "undergraduate" or "u" or "U":
for student in range(int(numberExams)):
ID = input("Please enter student ID: ")
midterm = int(float(input("Please enter midterm score: ")))
finalExam = int(float(input("Please enter final exam score: ")))
undAverage = (midterm * .60) + (finalExam * .40)
elif courseLevel == "grad" or "Grad" or "Graduate" or "g" or "G":
for student in range(int(numberExams)):
ID = input("Please enter student ID: ")
midterm = int(float(input("Please enter midterm score: ")))
finalExam = int(float(input("Please enter final exam score: ")))
undAverage = (midterm * .30) + (finalExam * .70)
elif enterStudents == "No" or "no" or "n" or "N" :
print("\nSee you next time!")
else:
enterStudents == "" :
input("Invalid Entry! Would you like to input a student, Yes or No?:")
def Grade():
for letter in Grade:
total = 100
for letter in Grade(A,B,C,D,E,F):
if undGrade == "A":
undAverage >= range(85,101)
elif undGrade == "B":
undAverage >= range(70,85)
elif undGrade == "C":
undAverage >= range(55,70)
elif undGrade == "D":
undAverage >= range(40,55)
elif undGrade == "F":
undAverage >= range(0,40)
print(Grade)
【问题讨论】:
-
问题出在while循环之后的elif中
标签: python loops python-3.x while-loop conditional-statements