if语句在python中没有执行

问题描述:

from random import randint 
proceed = "Y" 
while(proceed == 'Y' or proceed == 'y'): 
    print("Guess the Integer or 'exit'") 
    number = input() 
    x1 = randint(0, 9) 
    if number is x1 : 
     print("You guessed it right") 
    else: 
     print("number was ", x1) 
    print("Do you want to continue, Y or N?") 
    proceed = input() 

在上面的代码中,if语句没有执行。是否因为没有使用==运算符?if语句在python中没有执行

使用:

if number is x1: 

正在测试,如果变量number是变量x1(在计算机内存即各尽其值占据相同的点),和如果值是相同的。

用途:

if number == str(x1): 

input返回一个字符串,因此检查:

if number is x1 : 

总是会失败,因为一个字符串将永远是相同的实例作为整数。

而是转换为整数,并检查是否相等:

number = int(input()) 
x1 = randint(0, 9) 
if number == x1: 
    print("You guessed it right")