gpt4 book ai didi

Python - 不支持的类型 : range and range

转载 作者:太空狗 更新时间:2023-10-29 22:03:43 46 4
gpt4 key购买 nike

我在尝试运行脚本时遇到这个奇怪的错误,代码似乎是正确的,但似乎 python (3) 不喜欢这部分:

        def function(x):
if integer:
return int(x)
else:
return x

non_nil = randrange(21)
d = dict([(randrange(101), Racional(coeff(randrange(-20,20)),
coeff(choice(range(-30,0)+\
range(1,30)))))
for k in range(non_nil)])

我收到以下错误:

for k in range(non_nil)]) unsupported operand type(s) for +: 'range' and 'range'

我已经尝试将最后四行放在一行中,但 python 返回相同的错误。

最佳答案

这是因为 Python 3 range 不返回 list,这与 Python 2 不同。此代码是为 Python 2 编写的。

应该更改此代码:

range(-30,0) + range(1,30)

应该改为:

[*range(-30,0), *range(1,30)]

在 Python 3.5(2015,PEP 448 - Additional Unpacking Generalizations)之前,您不能在列表中使用 *,而必须这样写(或者您可能更喜欢这样):

list(range(-30,0)) + list(range(1,30))

关于Python - 不支持的类型 : range and range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318083/

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