如果在python中麻烦

Lio*_*aif 1 python if-statement

嘿刚刚开始学习python并且遇到了一些问题我已经使用if语句创建了一个代码它应该可以工作但它不起作用可以有人修复它并告诉我我做错了什么?

x= raw_input("Enter your name: ")
y= raw_input("Enter your grade: ")
print(y)
if y>=50 and y<=100:
    print("Good input")
else:
     print ("Invaild input")
Run Code Online (Sandbox Code Playgroud)

它始终打印无效输入谢谢!

Mar*_*ers 11

raw_input()返回一个字符串,但是你在比较xy用整数.

y成整数比较之前:

y = int(y)
if y >= 50 and y <= 100:
Run Code Online (Sandbox Code Playgroud)

你可以通过链接简化你的比较,让你内联int()电话:

if 50 <= int(y) <= 100:
Run Code Online (Sandbox Code Playgroud)


iCo*_*dez 5

您必须通过将输入转换为整数将输入转换为整数int:

x= raw_input("Enter your name: ")
################
y= int(raw_input("Enter your grade: "))
################
print(y)
if y>=50 and y<=100:
    print("Good input")
else:
    print ("Invaild input")
Run Code Online (Sandbox Code Playgroud)

请记住,raw_input始终返回一个字符串.因此,在if语句中,您将字符串与整数进行比较.这就是为什么它不起作用.

实际上,每当我需要打印一条或另一条消息时,我都喜欢把它放在一行上(当然消息很长):

print("Good input" if 50 <= y <= 100 else "Invaild input")
Run Code Online (Sandbox Code Playgroud)

制作一个完整的if-else块似乎有点矫枉过正.