为什么当范围数量增加时,此代码中会出现错误? 他92岁了,你不能再下注了。
import random
from random import randint
masz = []
pmasz = '('
n = 0
for i in range(92):
masz.append(str(randint(-10000, +10000)))
masz.append(random.choice(['+', '-', '*', '/']))
pmasz += masz[n] +")" + masz[n+1]
n += 2
print(eval((n//2-1)*"("+pmasz[:-1]))
该问题是由于括号嵌套太深。 这是一个已知问题,可能无法修复。 您可以在此处阅读详细信息。
您可以通过评估中间结果来限制嵌套深度来避免此问题。
我还建议使用ast.literal_eval
,这比使用eval
更安全。