2024-05-16 06:39:40 发布
网友
def coin(): print random.randint(0,1) if (coin() == 0): return Heads else: return Tails coin_flip()
我总是犯一系列错误。如果我只是在第二行结束代码,那么它正确地返回0或1。所以我想如果我做了if/else代码,它应该返回专有名称。但无济于事。我也尝试用这种风格的代码来做,而不仅仅是做任何投币代码。谢谢
你的代码中有无限的递归。如果你追踪整个执行过程,你会得到:
call coin() print call coin() print call coin() .... out of memory at some point
您可能希望存储随机.randint(0,1)在一个变量中,比如val。 然后在if条件下使用val。你知道吗
if (val == 0): return Heads else: return Tails
目前你的代码是无限递归的。你知道吗
我猜一下,但我想你要做的是定义coin_flip,而不是coin。如果我理解正确,以下是你应该写的:
coin_flip
coin
def coin_flip(): coin = random.randint(0,1) if coin == 0: return 'heads' else: return 'tails'
然后您可以稍后使用coin_flip()调用它。你知道吗
coin_flip()
函数中发生的事情是,您将0或1的值赋给名称coin。如果该值为0,则返回字符串“heads”。否则返回字符串“tails”。你知道吗
0
1
你的代码中有无限的递归。如果你追踪整个执行过程,你会得到:
您可能希望存储随机.randint(0,1)在一个变量中,比如val。 然后在if条件下使用val。你知道吗
目前你的代码是无限递归的。你知道吗
我猜一下,但我想你要做的是定义
coin_flip
,而不是coin
。如果我理解正确,以下是你应该写的:然后您可以稍后使用
coin_flip()
调用它。你知道吗函数中发生的事情是,您将
0
或1
的值赋给名称coin
。如果该值为0,则返回字符串“heads”。否则返回字符串“tails”。你知道吗相关问题 更多 >
编程相关推荐