为什么我的代码输出 none 是原来的 3 倍?
why do i got 3 times the output none in my code?
所以我正在 python 练习编码。如果我需要 return 一个数字,我总是使用 return 语句,这样我就不会得到 none。但是现在当我只想打印评论时 returns none。即使我尝试使用 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? : jop
Hi jop, would you like to play a game?
Y/N: k
Please anwser with [y] or [n]
Y/N: y
Cool, than lets play a game
None
None
None
您正在打印 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()
print(y_n())
打印 y_n
函数的 return 值 。该值隐式 None
因为该函数没有 return 任何东西。
您的代码输出 None
因为您调用 print(y_n())
打印 y_n()
函数的 return 值 None
。你应该做的是在不使用 print()
的情况下调用函数,因为输出值已经在函数内部打印。
所以我正在 python 练习编码。如果我需要 return 一个数字,我总是使用 return 语句,这样我就不会得到 none。但是现在当我只想打印评论时 returns none。即使我尝试使用 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? : jop
Hi jop, would you like to play a game?
Y/N: k
Please anwser with [y] or [n]
Y/N: y
Cool, than lets play a game
None
None
None
您正在打印 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()
print(y_n())
打印 y_n
函数的 return 值 。该值隐式 None
因为该函数没有 return 任何东西。
您的代码输出 None
因为您调用 print(y_n())
打印 y_n()
函数的 return 值 None
。你应该做的是在不使用 print()
的情况下调用函数,因为输出值已经在函数内部打印。