接收字符串的 Python 函数,返回字符串“!”

新手上路,请多包涵

正如标题所暗示的那样,我只是想创建一个 Python 函数来接收一个字符串,然后返回该字符串并在末尾添加一个感叹号。

输入“Hello”应该返回

Hello!

输入“再见”应该返回

Goodbye!

等等。

这是我尝试过的:

 def addExclamation(s):
    s = input("please enter a string")
    new_string = s + "!"
    return new_string

print(s(addExclamation))

这给了我错误信息:

 NameError: name 's' is not defined on line 6

为什么没有定义“s”?我以为我确定 s 是 addExclamation 函数中的输入。谢谢您的帮助。

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

阅读 379
2 个回答

您定义一个带有参数 s 的函数。该函数立即丢弃该值并请求输入。您正在调用一个与该参数同名的函数,并向它发送一个函数名称的参数。那没有任何意义。

 def addExclamation(s):
    new_string = s + "!"
    return new_string

print(addExclamation('Hello'))

或者:

 def addExclamation():
    s = input("please enter a string")
    new_string = s + "!"
    return new_string

print(addExclamation())

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

在声明中:

 s(addExclamation)

您尝试调用未定义的 s 函数。

你给的参数 addExclamation 就是你要调用的函数。你应该写:

 addExclamation("Hello")

在此示例中,您使用字符串参数“hello”调用函数 addExclamation()

但是你需要改变它的实现:

 def addExclamation(s):
    result = s + "!"
    return result

此实现不言自明:它创建一个新字符串 result 与原始字符串 s 和“!”的串联。

如果你想使用 input ,你可以这样做:

 text = input("Enter a text: ")
print(addExclamation(text))

原文由 Laurent LAPORTE 发布,翻译遵循 CC BY-SA 3.0 许可协议

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