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

Python使用random.randint时报TypeError:int与str不支持+运算如何解决

错误原因
  • 你在定义playernum变量时,将原本是整数的随机数强制转为了字符串类型,而playernum0是整数类型,Python不支持整数和字符串直接执行算术加法运算,因此触发类型错误。
修复方法

有两种常用修复方案:

方案1:仅修改报错行,运算前统一类型

将报错的代码行改为如下内容,计算前先把playernum转回整数即可:

playernum2 = playernum0 + int(playernum)

方案2:从源头统一变量类型(更推荐)

数值类型的变量没必要在定义时就转成字符串,仅在需要拼接输出时处理类型即可,能避免大量同类类型错误,完整修正后的代码参考:

import random
# 请确保Play变量已提前定义赋值,比如 Play = True
while Play == True:
    computernum = random.randint(1,19)
    playernum = random.randint(1,10)
    print(f"Your first number is {playernum}.")
    playinput1 = input("Do you want to roll another number? <Y or N> ")
    if playinput1 == "Y":
        playernum0 = random.randint(1,10)
        playernum2 = playernum0 + playernum
        break
额外提示
  • 如果后续需要用computernum做算术运算,也不要在定义时就转字符串,按需在输出时转换即可。
  • 注意你原代码开头没有导入random模块,运行前需要先加上import random语句,否则会触发名称报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:21:01