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

为什么输出是这样,怎么修改

def greet(n,a):

    if n==' ':

        print "Hello,world."

        

    else:

        print "Hello,"+n+'.'

       

print greet(' ')

print greet('Bart')


结果是:Hello,world.

             None

             Hello,xxx.

             None

不明白为什么会有两个None

正在回答

3 回答

print greet(' ')

print greet('Bart')

这两行代码错误地方相同,只看第一行 print greet(' ') 。首先greet(' ')函数会打印出Hello,world. 你前面又加了一个print用来打印函数的返回值,而greet函数返回值就是None,打印出来的当然就是None了。

正确的写法应该是去掉print:

greet(' ')

greet('Bart')

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

这个默认参数n不是应该在必须参数a后面吗

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

def greet(n,a): 中为什么有两个参数?a指的是?

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

举报

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

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

进入课程

为什么输出是这样,怎么修改

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