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

Python含字符串的密钥生成器运行报错:TypeError类型错误求助

解决Python密钥生成器的TypeError问题

嘿,这个错误其实很容易搞定!咱们先看看问题出在哪儿:

你用random.randrange(1,9999)生成的mod2、mod3、mod4都是整数(int)类型,但Python不允许直接把整数和字符串(比如mod1里的"BOT")用+拼接——就像你没法直接把字母和数字硬粘在一起一样,得先把整数转成字符串格式才行。

两种修复方案

方案1:手动转换整数为字符串

给每个生成的整数套上str()函数,把它们转换成字符串类型,这样就能正常拼接了:

import random
mod1 = "BOT"
mod2 = str(random.randrange(1,9999))
mod3 = str(random.randrange(1,9999))
mod4 = str(random.randrange(1,9999))
key = mod1 + "-" + mod2 + "-" + mod3 + "-" + mod4
print(key)

方案2:用f-string格式化(更简洁)

Python 3.6+支持的f-string可以自动处理类型转换,写起来更清爽:

import random
mod1 = "BOT"
mod2 = random.randrange(1,9999)
mod3 = random.randrange(1,9999)
mod4 = random.randrange(1,9999)
key = f"{mod1}-{mod2}-{mod3}-{mod4}"
print(key)

可选优化:统一密钥格式

如果希望生成的数字是固定4位(比如不足4位时前面补0,比如12变成0012),可以用格式化符号:04d,让密钥格式更规整:

import random
mod1 = "BOT"
key = f"{mod1}-{random.randrange(1,9999):04d}-{random.randrange(1,9999):04d}-{random.randrange(1,9999):04d}"
print(key)

这样输出的密钥会是类似BOT-0123-4567-8901的格式,看起来更专业。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:27:28