【问题标题】:I'm struggling to concatenate a string to a function我正在努力将字符串连接到函数
【发布时间】:2021-04-05 14:20:10
【问题描述】:

这是我的代码。解决方案 #1:

def age():
    input('Age: ')

def friends():
    print("John" + age)

预期结果:

John13

实际结果#1:

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

解决方案 #2:

    def age():
        input('Age: ')

    def friend():
        print("John" + age())

解决方案结果 #2:

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

如何将我的函数ageage 是一个input() 函数声明)连接到一个或多个字符串? age 函数是一个 input(),我想将它添加到适当的名称或字符串中。

【问题讨论】:

  • 您需要从age() 方法返回可以连接的值:return input('Age: ')
  • age() 函数不返回任何东西,因此它默认返回 None。

标签: python python-3.x


【解决方案1】:

你需要在你的函数age中添加return语句,例如:

def age():
       agein = input(...)
       return agein

【讨论】:

    【解决方案2】:

    age() 不对输入做任何事情,它只是立即将其丢弃。您需要实际返回该值。

    此外,创建一个除了调用另一个方法之外什么都不做的方法也没有什么意义。为什么不直接“直接”致电input(...)

    此外,您的第一个解决方案不会连接 age 返回的字符串 - 如果没有 (),您尝试将 age() 方法本身附加到字符串,这不会有道理。

    【讨论】:

    • 大家好,谢谢大家的帮助,我的代码现在可以正常工作了。
    • @ZaydenMichealJames 很高兴我们能提供帮助。你能accept the answer那对你最有帮助吗? (可能是其中一个答案,具体取决于哪个答案帮助您解决了它)。
    【解决方案3】:

    如您所知,您定义的变量age 是一个函数,而不是字符串。

    所以你的问题归结为:

    我们如何从 我们的功能?

    换句话说,

    我们怎样才能让我们的函数“返回”我们想要的数据?

    简单! Python(以及几乎所有其他编程语言)中有一个结构可以做到这一点!

    它被称为return 语句。它从函数“返回”一个值——任何你想要的值——这仅仅意味着你在函数之外的代码可以使用这个值。

    例如:

    def age():
        age = input('Age: ')  
        return age          // We can now use this value outside the function!
    

    你可以这样使用它:

    def friends():
        johns_age = age()   // calling the age function and assigning its returned value
        print("John is " + johns_age)
    

    如果你觉得这个答案有帮助,我建议你阅读一本适合初学者的 Python 书籍(例如免费的Automate the Boring Stuff with Python),因为这样你学得更快在这个相当严格和不友好的网站上提问。

    【讨论】:

      猜你喜欢
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多