【问题标题】:TypeError: can only concatenate str (not "tuple") to str How do i fix this?TypeError: can only concatenate str (not "tuple") to str 我该如何解决这个问题?
【发布时间】:2021-12-18 23:16:09
【问题描述】:

所以我是一个相当新的 python 用户,我正在尝试制作一个石头剪刀布游戏,您可以在其中与 AI 或模拟与 2 个真人(本地游戏)对战,但我不断收到此错误:

TypeError: can only concatenate str (not "tuple") to str

这是出现问题的代码行:

print("Hello" + User1 + "and" + User2 +  "please enter 2 again")

print(User1 + " played " + x)

print(User2 + " played " + y)

下面是整个代码的链接: https://i.stack.imgur.com/XKzVA.png 任何帮助将不胜感激。

【问题讨论】:

  • 为什么 User1 和 User2 是元组?
  • User1User2 是零长度元组。你期望它在那里打印什么?也许您应该将它们初始化为User1 = "user 1"User2 = "user 2",直到您弄清楚如何在那里输入名称。
  • 您的错误似乎是由于误解了 format 的工作原理,您将 User1User2 设置为空元组而不是字符串。你想做的更像是User1, User2 = map(str.strip, input("enter User1, User2").split(","))

标签: python string tuples concatenation new-operator


【解决方案1】:

您已在此处将用户名初始化为空元组:

User1 = ()
User2 = ()

在您的打印语句中,您尝试将字符串与该元组连接:

print("Hello" + User1 + "and" + User2 +  "please enter 2 again")

Python 没有定义元组和字符串之间的加法,因此它会引发类型错误。我建议将您的用户名定义为空字符串,直到您决定如何处理他们进入您的程序。

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2023-02-25
    • 2022-11-01
    • 1970-01-01
    • 2020-02-29
    • 2020-11-21
    • 2020-08-29
    • 2020-09-18
    • 2019-02-02
    相关资源
    最近更新 更多