我找到的一本书中的一个问题。


integer = 3 #there will be raw_input but I use it as an example
root = 0

for pwr in range(1,6):

    if root**pwr != integer:
        pwr += 1
        print pwr

    else:
        print root, pwr

    if pwr > 5:
        pwr = 1
        root += 1

我还没有完成程序,因为我无法正确循环。问题是我收到输出 2、3、4、5、6,然后循环终止。但是,我确实在您看到的最后一个 if 语句代码块中对 pwr 变量使用了重启。但是,它无论如何都会停止执行。这里有什么问题?

最佳答案

另一种选择,带有“简单数学”。

integer = 3

for power in range(1,6):
    a = (integer ** (1.0/power))
    if math.ceil(a) == a:
        print a, power

>> 3.0 1

关于python - 搜索两个整数 root**pwr = integer(user's input),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13648132/

10-12 19:19