采用可选参数的函数

Function that takes in optional parameter

提问人:Ahmad Bashiru Inuwa 提问时间:9/30/2022 更新时间:9/30/2022 访问量:59

问:

从下面的代码中将其作为编码测试挑战提交后。我曾经从机器人或机器人那里得到以下反馈,这些机器人正在标记 task() 缺少 1 个必需位置参数的挑战:“name”,但如果我确实在 vs code 上运行它,它将打印 Hello Friend!我不知道为什么。请澄清。

def task(name):
    
    print("Hello", name + "!") 
task("Friend")
python-3.x 函数 参数传递

评论

2赞 Carcigenicate 9/30/2022
你如何打电话在线版本?此代码不会导致该错误。task
1赞 sj95126 9/30/2022
据推测,挑战测试是在没有争论的情况下调用的 - 挑战描述是否说明了行为应该是什么?task()
0赞 Samwise 9/30/2022
name未定义为可选参数。要使参数可选,您需要提供一个默认值,例如def task(name="Ahmad"):

答:

0赞 bitflip 9/30/2022 #1

也许他们在没有论据的情况下进行测试。尝试设置一个默认值,如下所示task()name

def task(name=""):
    print("Hello", name + "!") 
task("Friend")  # Hello Friend!
task()  # Hello !