繁体   English   中英

Python While循环被忽略

[英]Python While loop being ignored

我是python的学生,我正在开发这段代码来计算3'A'至'9'的所有组合可能性,直到OriginalArray等于PerfectArray ...但由于某些原因while循环不停止..有人知道为什么吗? 感谢您的帮助:D

#!/usr/bin/python2.7

OriginalArray = ['1','A','A','A']

def CombineLastThree(Array):
    values = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

    for a in values:
        Array[1] = a
            for b in values:
            Array[2] = b
            for c in values:
                Array[3] = c
                print (Array)

def Run(Array):
    PerfectArray2 = ['2','A','A','A']

    while Array != PerfectArray2:
        CombineLastThree(Array)
        if Array[1] == '9' and Array[2] == '9' and Array[3] == '9':
            Array[1] = 'A'
            Array[2] = 'A'
            Array[3] = 'A'
            Array[0] = int(Array[0]) + 1

Run(OriginalArray)

你在Array[0]有一个整数。 这永远不会等于'2' 这可能会解决它:

Array[0] = str(int(Array[0]) + 1)

您可能还想看看itertools模块: https ://docs.python.org/2/library/itertools.html#itertools.combinations。

这与您的代码不完全一样,但是可能值得考虑作为起点:

from itertools import combinations

values = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

for a, b, c in combinations(values, 3):
    print(a,b,c)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM