gpt4 book ai didi

python - 返回元组的函数给出 TypeError : 'NoneType' object is not iterable

转载 作者:太空狗 更新时间:2023-10-29 22:16:13 26 4
gpt4 key购买 nike

这个错误是什么意思?我正在尝试创建一个返回元组的函数。我确定我做错了。感谢您的帮助。

from random import randint
A = randint(1,3)
B = randint(1,3)
def make_them_different(a,b):
while a == b:
a = randint(1,3)
b = randint(1,3)
return (a,b)
new_A, new_B = make_them_different(A,B)

最佳答案

如果 a != b,您的代码将返回 None

由于在 while 循环中有 return 语句,如果 while 循环从未执行过,Python 将返回默认值 None ,该值不能分配给 new_A,new_B

>>> print make_them_different(2, 3)
None

>>> print make_them_different(2, 2)
(2, 1)

你可以通过返回默认值来解决这个问题(因为它们是不同的,而这正是你打算做的)

def make_them_different(a,b):
while a == b:
a = randint(1,3)
b = randint(1,3)
return (a,b) # Dedented the return line.

演示 -

>>> make_them_different(2, 2)
(3, 2)
>>> make_them_different(2, 3)
(2, 3)

关于python - 返回元组的函数给出 TypeError : 'NoneType' object is not iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com