在 Python 中用字符串和整数制作字符串

新手上路,请多包涵

我在尝试取一个整数并在其前面加上“b”并将其转换为字符串时出现此错误:

   File "program.py", line 19, in getname
    name = "b" + num
TypeError: Can't convert 'int' object to str implicitly

这与此功能有关:

 num = random.randint(1,25)
name = "b" + num

原文由 Kudu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 578
2 个回答
name = 'b' + str(num)

或者

name = 'b%s' % num

请注意,第二种方法在 3.x 中已弃用。

原文由 msw 发布,翻译遵循 CC BY-SA 4.0 许可协议

Python 不会像 JavaScript 或 PHP 等语言那样自动转换类型。

您必须将其转换为字符串,或使用格式化方法。

 name="b"+str(num)

或 printf 样式格式(这在 python3 中已被弃用)

 name="b%s" % (num,)

或新的 .format 字符串方法

name="b{0}".format(num)

原文由 JAL 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题