我写的这个函数:
def simulate_turn(num_rolls, score, opponent_score):
"""This function takes in two scores and a number of die rolls and returns
what the two scores would be if num_rolls many dice were rolled. This takes
into account the swine swap, free bacon, and hog-wild."""
x = score
y = opponent_score
x += take_turn(num_rolls,opponent_score,select_dice(score,opponent_score))
if ifwillswap(x,y):
swap(x,y)
return x,y
当在交互式python shell中运行时(该函数来自.py文件),它返回一个int对象而不是一个元组!我究竟做错了什么?我试图让它变成一对值,而不是一个int对象。
答案 0 :(得分:0)
您已经返回了一对值。即使你在某个地方以某种方式打破了x
和y
并且像这样有些荒谬:
def example():
return None, None
a = example()
a
在执行该函数后仍会保留对元组(None, None)
的引用。所以你要返回两个“somethings”的元组,唯一的问题是那些“有些东西”以及你如何存储它们。您没有理由认为您的函数返回int
,因为它没有。无论如何,使用您使用的语法,您的函数返回两种类型的元组。你甚至可以做return x,
,这将返回一个项目元组。逗号会阻止您只返回int
。
答案 1 :(得分:0)
我的猜测是你的函数swap()可能是你的变量y等于None,你可能会错误解释返回的值。正如其他人所说的那样,我不知道你怎么能看到任何东西,只有一个元组作为回报。