为了账号安全,请及时绑定邮箱和手机立即绑定

这个程序为什么不行

def greet(x,y=5):

    if None:

        return'Hello, world'

    return 'Hello, xxx.'

print(greet( ))

print(greet('Bart'))


正在回答

3 回答

您的greet函数里,有两个参数,前一个x,是必须参数,后一个y=5,是默认参数。

必须参数是必须要给予输入值的。

行1,参数 y=5中,5是数字,但函数要求的输入值是字符串,两个类型不相符。

行2,在程序中,想说明未输入,是用None,但需要用”==”的形式来说明,而不是上来就直接给个None。

行4,返回值中的xxx,指代的是给定的参数输入值,不要用xxx,直接用参数就可以了。

def greet(y='world'):

    if y==None:

        return 'Hello, world'

    return 'Hello,'+ y +'.' 

print(greet( ))

print(greet('Bart'))

这段代码,在Python3.7里运行正常,可以对比一下。

0 回复 有任何疑惑可以回复我~

def greet(x):


    if x==None:


        return'Hello, world.'

    

    return 'Hello, '+x+'.'



print greet(None)


print(greet('Bart'))


0 回复 有任何疑惑可以回复我~
#1

慕尼黑0763937

if None: #这里的if后面相当于是0啊,不管怎样都不会执行 return 'Hello, '+x+'.' #参数x不应该在“”里面,否则会被当做是字符,而不是参数 greet需要参数,不能为空,就算是空也要填入(none) 个人见解,有错误感谢提出
2019-06-01 回复 有任何疑惑可以回复我~

你跟我想的一样

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这个程序为什么不行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信