You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python数字猜大小游戏报TypeError:str与int无法用<比较,求修复方法

修复Python猜数字游戏的类型错误问题

错误原因

input()函数获取的用户输入默认是字符串类型,而computer是randint()生成的整数类型,直接用<或==比较字符串和整数就会触发TypeError。

修复方案

把用户输入的字符串转换成整数类型,同时修正原循环逻辑的缺陷(原代码输入后player不再是False,循环会直接终止),修复后的完整代码:

import random

# 无需重复导入randint,random模块已包含该方法
computer = random.randint(1, 50)  # 与提示的输入范围1-50保持一致

while True:
    try:
        # 将输入转换为整数,同时处理非数字输入的异常
        player = int(input("Choose number 1-50: "))
        if player == computer:
            print("Well Done!")
            break  # 猜对后退出循环
        elif player < computer:
            print("Higher")
        else:
            print("Lower")
    except ValueError:
        print("请输入有效的整数!")

额外优化点

  • 移除了未使用的import string和重复的from random import randint
  • 调整随机数范围为1-50,和输入提示匹配
  • 加入try-except捕获非数字输入的异常,避免程序崩溃
  • 改用while True的循环逻辑,更符合猜数字游戏的持续交互需求

内容的提问来源于stack exchange,提问作者CapitalBaton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 03:03:32