grade = raw_input("What was your score?")
if grade >= 93:
print "For a score of " + grade + ", your grade is an A"
elif grade >= 90 and grade < 93:
print "For a score of " + grade + ", your grade is an A-"
elif grade >= 87 and grade < 90:
print "For a score of " + grade + ", your grade is a B+"
elif grade >= 83 and grade < 87:
print "For a score of " + grade + ", your grade is a B"
elif grade >= 80 and grade < 83:
print "For a score of " + grade + ", your grade is a B-"
elif grade >= 77 and grade < 80:
print "For a score of " + grade + ", your grade is a C+"
elif grade >= 73 and grade < 77:
print "For a score of " + grade + ", your grade is a C"
elif grade >= 70 and grade < 73:
print "For a score of " + grade + ", your grade is a C-"
elif grade >= 67 and grade < 70:
print "For a score of " + grade + ", your grade is a D+"
elif grade >= 63 and grade < 67:
print "For a score of " + grade + ", your grade is a D"
elif grade >= 60 and grade < 63:
print "For a score of " + grade + ", your grade is a D-"
else:
print "For a score of " + grade + ", your grade is an F"
无论输入什么作为原始输入,打印的语句始终为“对于___,您的成绩为A”,即使它应为B或D或其他。
答案 0 :(得分:1)
raw_input返回一个字符串,而不是数字。在进行比较之前,您需要将其转换为int或float。
顺便说一句,如果您是从python开始的,请选择3(而不是2)。2已经停止销售,并且对库的支持开始减少。
答案 1 :(得分:0)
您正在比较整数和字符串。
您需要使用int()
将字符串转换为整数。
因此,您可以例如执行类似的操作
grade = int(raw_input("What was your score?"))
当然,这将给您带来一个问题,即您为显示输出消息所做的(丑陋)串联将停止工作(因为您无法串联字符串和整数)。
与其直接使用字符串连接,不如直接使用字符串format
,这样的时间要好99%,
print "For a score of {}, your grade is an A".format(grade)
答案 2 :(得分:-1)
grade = int(input(“输入您的分数”))
使用python 3。