首页 > 解决方案 > OR STATEMENT TypeError:'str'和'int'的实例之间不支持'<'

问题描述

我正在尝试让 RockPaperScissors 程序正常工作。

我遇到了这个错误,我觉得我已经尝试了一切,我想我只是没有正确格式化“或”语句。

这是我的代码:

def userPick():
    userChoice = input("Enter a (1) for rock, (2) for paper, (3) for scissors, or (0) to quit:\n")
    userChoice == int(input, userChoice < 0 or userChoice > 3.0)
    print("Invalid choice. Try again.\n")
    userChoice = int(userChoice)
    return userChoice

标签: python

解决方案


您必须在输入后首先转换userChoiceint,以便能够将其与另一个进行比较int。在您的代码userChoice中仍然是一个字符串。

由于如果用户选择了无效答案,您必须要求用户再次输入选项,因此您需要在此处使用无限 while 循环,该循环仅在选择有效时才中断。

def userPick():
    while(True):
        userChoice = int(input("Enter a (1) for rock, (2) for paper, (3) for scissors, or (0) to quit:\n"))
        if(userChoice<0 or userChoice>3):
            print("Invalid choice. Try again.\n")
        else:
            break
    return userChoice

推荐阅读