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

为什么我的代码中没有输出 3 倍?

为什么我的代码中没有输出 3 倍?

慕标5832272 2022-06-07 19:17:07
所以我正在练习用python编码。如果我需要返回一个数字,我总是使用 return 语句,所以我什么也得不到。但是现在当我只想打印出评论时,它不会返回任何内容。即使我尝试使用 return 语句,它也会返回 none。def name_tag():    name = input("Hello, whats your name? : ")    print(f'Hi {name}, would you like to play a game?')    print(y_n())def y_n():    yes_no = input("Y/N: ")    if yes_no.lower() == 'y':        print('Cool, than lets play a game')    elif yes_no.lower() == 'n':        print('To bad!')    else:        print('Please anwser with [y] or [n]')        print(y_n())这是输出Hello, whats your name? : jopHi jop, would you like to play a game?Y/N: kPlease anwser with [y] or [n]Y/N: yCool, than lets play a gameNoneNoneNone
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

print(y_n())

打印函数的返回y_n。该值是隐含None的,因为该函数不返回任何内容。


查看完整回答
反对 回复 2022-06-07
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

您正在打印 的结果y_n(),请None尝试以下操作:


def name_tag():

    name = input("Hello, whats your name? : ")

    print(f'Hi {name}, would you like to play a game?')

    y_n()


def y_n():

    yes_no = input("Y/N: ")


    if yes_no.lower() == 'y':

        print('Cool, than lets play a game')


    elif yes_no.lower() == 'n':

        print('To bad!')


    else:

        print('Please anwser with [y] or [n]')

        y_n()

如果您想使用print(y_n()),您可以更改它,以便从以下位置返回字符串y_n():


def name_tag():

    name = input("Hello, whats your name? : ")

    print(f'Hi {name}, would you like to play a game?')

    print(y_n())


def y_n():

    yes_no = input("Y/N: ")


    if yes_no.lower() == 'y':

        return 'Cool, than lets play a game'


    elif yes_no.lower() == 'n':

        return 'To bad!'


    else:

        print('Please anwser with [y] or [n]')

        return y_n()


查看完整回答
反对 回复 2022-06-07
?
DIEA

TA贡献1820条经验 获得超2个赞

您的代码输出None是因为您调用print(y_n())which 打印函数的返回值y_n()is None。您应该做的是不使用调用函数,print()因为输出值已经在函数内部打印。



查看完整回答
反对 回复 2022-06-07
  • 3 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信