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

打印不出来

# -*- coding: utf-8 -*

def greet(s):

    if s is None:

       print ('hello word')

    else:

        print 'hello'+s


greet()

greet('Bart')


正在回答

3 回答

对于这种情况,可以把s作为默认参数,赋初值为0,这样的话如果有输入,s就会为字符型,没有输入,s就是0为整型,就区分开来了,同时也解决了没有输入值报错的问题


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

greet()只接受一个参数,默认0,不能为空

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

先判断是不是空的要是空的 就打印hello word  不是就打印 hello xxx 感觉思路没有问题 会报错 也看不懂 大神们给个解决方案 TypeError: greet() takes exactly 1 argument (0 given)

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

darkwing_

请回看 7.2调用函数 ,如果参数的数量或者类型不对都会有报错的,因此需要本节课的默认参数 至于别的解决方案就不太懂了。。毕竟我也是刚学。。。
2019-03-05 回复 有任何疑惑可以回复我~
#2

darkwing_

刚看了下一节课。。要不你试试这个? def greet(*s): if len(s) == 0: print('hello word') else: print('hello ' + s[0]) greet() greet('Bart')
2019-03-05 回复 有任何疑惑可以回复我~
#3

darkwing_ 回复 darkwing_

world 还写错了o(╯□╰)o
2019-03-05 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

打印不出来

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