【发布时间】:2023-03-15 16:05:01
【问题描述】:
import random
def diceroll():
x = random.randrange(1, 6)
print(x)
repeatroll()
def repeatRoll():
roll = input(print("Would you like to roll again?"))
if roll.upper()=="Y":
return diceroll()
elif roll.upper()=="N":
return print("You have chosen not to roll again")
else:
return print("Invalid input")
return roll
repeatRoll()
谁能向我解释为什么在代码要求输入后返回 None ?
一直以为是没有返回函数的原因。
我完全糊涂了,我觉得答案很明显,但我不太明白。
我们将不胜感激,谢谢。
【问题讨论】:
-
diceroll不返回任何内容。应该是return x或return repeatroll()。 -
另外,
print返回None。您无需调用print即可返回值。 -
那么输出中出现“None”的原因是因为我对“roll”变量使用了打印语句?
-
这能回答你的问题吗? Why does my recursive function return None?
标签: python python-3.x function nonetype