2017-11-04 1 views
-1

Pythonの入れ子のwhileループで失われてしまいました。Pythonで失われたwhileループ

、私は

= 1、B = 1、C = 1、D = 1

を持っていると私は16までのa、b、c、dをインクリメントしたいのですが、一つ一つ私は、

1 2 3 4 1 3 4 5 then 1 4 5 6 ... 1 14 15 16 then 2 3 4 5 ... 16 15 14 13までの2つの同一番号を避けなければならないlike 1 2 2 3。

私は入れ子のwhileループを作成することに成功しません。助けてください !

おかげ

+2

コードを投稿私たちは何が起こっているか見ることができます。 –

+0

ようこそStackoverflowへ[How To Ask](https://stackoverflow.com/help/how-to-ask)をお読みください。 [MCVEの作成方法](https://stackoverflow.com/help/mcve)に特に注意してください。良い質問を投稿するために、より多くの努力が必要です。読みやすく、理解しやすく、トピック上にあるものです(https://stackoverflow.com/help/on-topic) - その可能性は高いです関連する人々を惹きつけ、あなたはもっと早く助けを得るでしょう。がんばろう! – alfasin

+0

ベース16(16進数)でカウントしますか? –

答えて

1

あなたはちょうどあなたが使用することができます1..16から4つの値の組み合わせの全てを、必要な場合:

from itertools import combinations 

for a, b, c, d in combinations(range(1, 17), 4): 
    print(a, b, c, d) 

これが生成します。

1 2 3 4 
1 2 3 5 
1 2 3 6 
... 
1 14 15 16 
2 3 4 5 
... 
12 14 15 16 
13 14 15 16 
+0

すばらしい、ありがとう! – IOAP

0

使用itertools.combinations

for a, b, c, d in itertools.combinations(range(1,17), 4): 
    do_something