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

Python int转str未生效 字符串拼接报TypeError求解

问题根源

你代码里的类型转换完全没有生效,核心原因是Python中str()、int()这类类型转换函数不会原地修改传入的变量,只会返回转换后的新值。你单独写str(number)没有用变量接收返回值,执行完这行之后number还是整数类型,和字符串拼接时自然会抛出TypeError: can only concatenate str (not "int") to str错误。

另外你写在拼接后的int(number)也是完全无效的冗余代码,同样没有接收返回值,对逻辑没有任何影响,反而会产生无意义的性能开销。同时你贴出的代码还存在缩进错误,Python依靠缩进判定代码块归属,函数内、循环内的代码必须做对应缩进才能正常运行。

修正方案

拼接时直接使用str(number)得到的字符串结果即可,不需要做无意义的来回类型转换,同时修正代码缩进:

def print_board():
    number = 1
    output = ""

    while number < 91:
        if number in available_numbers:
            output = output + text.yellow + str(number)
        elif number in choosen_numbers:
            output = output + text.green + str(number)
        number += 1

    print(output)

如果想要写法更简洁,字符串拼接可以用+=运算符替代重复写output = output + ...,效果完全一致:

def print_board():
    number = 1
    output = ""

    while number < 91:
        if number in available_numbers:
            output += text.yellow + str(number)
        elif number in choosen_numbers:
            output += text.green + str(number)
        number += 1

    print(output)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 08:31:06