语法错误帮助 -Python 3 on IDLE

Syntax error help -Python 3 on IDLE

multiNum = 1.0
multiDen = 1.0
for den in range(11,100):
    for num in range(10,den): # ensure fraction < 1
        if (den%10 != 0 or  num%10 != 0):
            frac = num/den
            cancelFrac = (float(str(num)[0])) / (float(str(den)[0])         
            if ((abs(frac - cancelFrac)) < 0.00001):
                multiNum = multiNum*(int(str(num)[0]))
                multiDen = multiDen*(int(str(den)[0]))
## simplyfy fraction
i = 2
while ((multiNum%i == 0) and (multiDen%i == 0)):
    multiNum = multiNum/i
    multiDen = multiDen/i                                          
i = 3
while ((multiNum%i == 0) and (multiDen%i == 0)):
    multiNum = multiNum/i
    multiDen = multiDen/i
i = 5
inc = 2
while (i < 82):    ## this function generates primes (and more)
    while ((multiNum%i == 0) and (multiDen%i == 0)):
        multiNum = multiNum/i
        multiDen = multiDen/i 
    i = i + inc
    inc=6-inc
print(multiDen)

这个程序正在用于项目欧拉问题33,我找不到语法错误。我正在使用闲置。 这是我要解决的问题

分数 49/98 是一个奇怪的分数,作为一个没有经验的数学家在试图简化它时可能会错误地认为 49/98 = 4/8,这是正确的,是通过取消 9 得到的。

我们将把 30/50 = 3/5 这样的分数视为微不足道的例子。

这种分数的非平凡例子正好有四个,数值小于一个,分子和分母都包含两位数。

如果这四个分数的乘积以它的最小公项给出,求分母的值。

当按操作顺序处理分组时,您在代码中使用了太多括号。例如,while ((multiNum%i == 0) and (multiDen%i == 0)): 可能只是 while multiNum%i == 0 and multiDen%i == 0:,或者 while not (multiNum%i or multiDen%i): 符合德摩根定律。

括号中的大量内容导致第 7 行遗漏了一个:

cancelFrac = (float(str(num)[0])) / (float(str(den)[0])
                                                       ^

我建议使用跟踪匹配括号的开发环境。甚至像 Notepad++ 这样的东西也可以。

我能看到的一个语法错误是:

cancelFrac = (float(str(num)[0])) / (float(str(den)[0])  
#Mismatched parenthesis right here  ^------------------^

一般来说,你的括号也太多了。例如,这会工作得很好:

cancelFrac = float(str(num)[0]) / float(str(den)[0])

还有这个

i = 2
while ((multiNum%i == 0) and (multiDen%i == 0)):
    multiNum = multiNum/i
    multiDen = multiDen/i 

应该简化成这样

i = 2
while multiNum % i == 0 and multiDen % i == 0:
    multiNum = multiNum/i
    multiDen = multiDen/i 

还有,以后请把你的traceback也附上,会帮助大家帮你找错的。