Python Input()不工作

Python Input()不工作,python,python-3.x,Python,Python 3.x,我试图创造这个石头剪刀布游戏。但是输入不起作用。有人知道我做错了什么吗?每次我尝试输入时,它都会显示我没有输入任何内容或没有输入数字1-3,然后直接转到其他位置。 随机输入 import time y=3 while y>0: print("Lets play Rock Paper Scissors") print("1 for Rock") print("2 for Paper") print("3 for Scissors") time.s

我试图创造这个石头剪刀布游戏。但是输入不起作用。有人知道我做错了什么吗?每次我尝试输入时,它都会显示我没有输入任何内容或没有输入数字1-3,然后直接转到其他位置。 随机输入

import time

y=3

while y>0:

    print("Lets play Rock Paper Scissors")
    print("1 for Rock")
    print("2 for Paper")
    print("3 for Scissors")
    time.sleep(1)
    print("Rock, Paper, Scissors...")
    var=input()
    z=random.randint(1,3)
    if z==1:
        print("I play Rock")
        time.sleep(1)
        if str(var)==1:
            print("You played Rock too! TIE")
        if str(var)==2:
            print("You played Paper! YOU WIN!!!")
        if str(var)==3:
            print("You played Scissors! I WIN!")
            y=y-1
        else:
            print("ERROR! Pick a number 1-3.")
    if z==2:
        print("I play Paper")
        time.sleep(1)
        if str(var)==1:
            print("You played Rock! I WIN!")
            y=y-1
        if str(var)==2:
            print("You played Paper too! TIE")
        if str(var)==3:
            print("You played Scissors! YOU WIN!!!")
        else:
            print("ERROR! Pick a number 1-3.")
    if z==3:
        print("I play Scissors")
        time.sleep(1)
        if str(var)==1:
            print("You played Rock! YOU WIN!!!")
        if str(var)==2:
            print("You played Paper too! I WIN!")
            y=y-1
        if str(var)==3:
            print("You played Scissors too! TIE")
        else:
            print("ERROR! Pick a number 1-3.")
    else:
        print("THIS SHOULDN'T BE POSSIBLE BUT OH WELL.... EASTER EGG")
您的
input()
工作正常。但是您正在将字符串与整数进行比较。 在每个ifs中,您都在比较两种不同的数据类型。因为
“1”
1
不一样,所以程序无法运行

您必须将从输入中获得的字符串转换为数字(整数)。 您的ifs必须看起来像:

var = input()
if int(var) == 1:
    print("You type in 1")
如果您不想为以下情况转换变量var,则更好:

var = int(input())
if var == 1:
    print("You typed 1")

有关详细信息,请参见:

input()
返回一个字符串,而不是一个数字。
如果str(var)==1:
您希望它如何工作
str(var)
返回一个字符串,
1
是一个整数,它们永远不能相等。如果int(var)=1或者
如果var==1
你也可以执行
var=int(input())
然后你就不需要进行任何类型转换了。好的,谢谢,我试试看,好的,谢谢