当我输入以下内容时:
rand_num = random.choice(1, 101)
表明:
TypeError: choice() takes 2 positional arguments but 3 were given
这些都放在函数中,我不明白为什么这么说。
签名为random.choice() https://docs.python.org/3/library/random.html#random.choice is:
choice(seq)
您向其传递一个序列,例如:
>>> random.choice([1, 2, 6, 8, 9])
2
A range
对象也是有效的,如此处的其他答案所示。
你可能会合乎逻辑地问,为什么 Python 会告诉你这些choice()
需要 2 个位置参数而不仅仅是一个(seq
)?那是因为choice()
隐含地takes a self范围 https://github.com/python/cpython/blob/91a639a094978882caef91915c932fbb2fc347de/Lib/random.py#L376因为它是一个实例方法。但出于您作为函数调用者的意图和目的,您应该仅传递一个参数,该参数是一个序列,例如列表或元组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)