我正在尝试创建一个计算总分并输出评分系统的程序
根据他们获得的等级说通,优,优。
我尝试了下面的代码,但这没有用。还尝试使用和/或语句,但是没有运气。
number = input("Enter a number: ")
if number < 40:
print("Failed")
elif number > 40 < 50:
print("Pass")
elif number > 50 < 60:
print("Merit")
else:
print("Distinction")
所以我基本上是想使它生效,但是条件语句不起作用并且不能正确地对商标进行分类。
有帮助吗?
答案 0 :(得分:1)
number = int(input("Enter a number: "))
if number < 40:
print("Failed")
elif number < 50:
print("Pass")
elif number < 60:
print("Merit")
else:
print("Distinction")
条件是链接的。如果您曾经达到elif number < 50
,则意味着前一个if number < 40
必须是False
(即数字> = 40)。您无需再次测试此条件。
代码执行:“是40岁以下吗?不?是50岁以下吗?不?是60岁以下是吗?不?哇,那时是60岁以上!”或者说,如果小于50,那就是比较停止的地方。
为了完整性,编写链接比较的正确方法是:
if 40 < number < 50
这将测试数字是否在40到50之间。
答案 1 :(得分:0)
input的返回值类型为str
,因此要与数字进行比较,应首先将其转换为类型int
number = 0
try:
number = int(input("Enter a number:"))
except:
print("Please input an integer")
exit(1)
# Now write your conditions
if number > 100 or number < 0:
print("Sorry grades can only be between 0 and 100")
elif number < 40:
print("Failed")
elif number < 50:
print("Pass")
elif number< 60:
print("Merit")
else:
print("Distinction")
答案 2 :(得分:-1)
如果我正确理解您的条件,则代码应类似于以下代码:
number = input("Enter a number: ")
if number < 40:
print("Failed")
elif number >= 40 and number < 50:
print("Pass")
elif number >= 50 and number< 60:
print("Merit")
else:
print("Distinction")