大于或小于Python

时间:2019-01-06 10:44:50

标签: python

我正在尝试创建一个计算总分并输出评分系统的程序

根据他们获得的等级说通,优,优。

我尝试了下面的代码,但这没有用。还尝试使用和/或语句,但是没有运气。

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")

所以我基本上是想使它生效,但是条件语句不起作用并且不能正确地对商标进行分类。

有帮助吗?

3 个答案:

答案 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")