0

我正在尝试编写一个程序,首先检查您是否可以通过仅交换 2 位数字来从数字 a 到数字 b。我下面的代码设计为从 53150220288 开始,然后检查是否可以通过仅更改 2 位数字来达到数字 537163806382。所以基本上我试图只更改数字 537163806382 的 2 位数字,以便新数字是 99 的倍数。然后将它们输出到文本文件。我正在编写这个程序来为我做这件事,但它实际上是为了数学竞赛。

f = open('Blank.txt', 'w')
a = 53150220288
b = 537163806382
b = str(b)
c = 0
while a <= 1000000000:
    for i in range(len(b)):
        if b[i] == a[i]:
            c = c
        else:
            c = c + 1
    if c == 2:
        a = str(a)
        print(a, file=f)
    else:
        c = 0
        a = int(a)
        a = a + 99

f.close()

上面代码的问题是它完全没有输出!我不知道为什么?

4

2 回答 2

5

您的程序永远不会进入 while 循环:

a =       53150220288
while a <= 1000000000:
于 2013-08-13T10:17:11.243 回答
2

显而易见的原因是您的程序没有进入循环。

这样做:

a = 53150220288
while a <= 1000000000:
于 2013-08-13T10:19:01.407 回答