python - 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
解决方案
您必须在输入后首先转换userChoice
为int
,以便能够将其与另一个进行比较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
推荐阅读
- node.js - 尽管表单输入已成功传输到后端,为什么 JSON.parse(event.body) 返回 null?(包括代码和日志)
- asp.net-web-api - .Net Framework API 控制器无法识别路由属性
- javascript - 创建分层/缩进下拉列表
- php - 我正在尝试使用此表单来捕获用户详细信息并使用底部的 PHP 脚本将它们加载到 MySQL 表中,但它不起作用
- python - Ansible 是否公开其自动发现的 Python 解释器?
- spring - 如何使用spring mvc使用@RequestParam捕获一些参数?
- c# - 如何在内存中创建pdf而不是用ghostscript物理创建?
- python - 抓取包含广告信息的 href
- python-3.x - 无法将pyspark导入python
- python - 如何使用 Flask 服务器保存 JSON 发布请求?