For döngülerinde çıktı kısıtlama hakkında

    sayi = 3
for a in sayi:
    for d in sayi:
        for b in sayi:
            for e in sayi:
                for c in sayi:
                    for f in sayi:
                        if ((a == c) and (d != f)) or ((b == c) and (e != f)):
                            print(a, d, b, e, c, f)
                        else:
                            print( a, d, b, e, c, f)

selamün aleyküm kardeşlerim icinden cıkamadıgım bir konu ile basınızı ağrıtmak istemezdim ama caresizlik işte
derdim olan şey
a ile c eşitse d ile f nin eşit olmayan cıktısı
b ile c eşitse e ile f nin eşit olmayan cıktısı
ve bunların dısındaki tüm cıktıyı alabilmek ne denediysem istediğim sonucu alamadım yardımcı olurmusunuz simdiden teşekkürler.

Kodunuzda ne yapmaya çalıştığınızı hiç anlamadım ama ilk olarak for kullanımına bakmanızı öneririm.
for a in sayi:
kullanımında ‘sayi’ olarak verdiğiniz girdinin iterasyona uygun olması lazım. Yani liste, sözlük vs olması gerekir.

’ != ’ bazen beni de yanıltıyor. O yüzden ’ not ’ operatörünü kullanmaya başladım. Daha kolay anlaşılıyor.
Bir de sırf meraktan, nasıl olur diye denemek amacıyla şunu yazdım. Sizin konunuzla birebir çalışıyor.
Eğer kodunuz karmaşıksa, böyle bir kullanımla daha da sade bir şekilde yazabilirsiniz. Tek satırda işlem bitiyor.

[(print(f,c,e,b,d,a) if (((a == c) and (d != f)) or ((b == c) and (e != f))) else print(f,c,e,b,d,a) )for f in sayi for c in sayi for e in sayi for b in sayi for d in sayi for a in sayi]

1 Beğeni

en uzun list comprehension ödülünü bu sene size verelim hocam

Acayip bir fonksiyon. Bir hoşuma gidiyor ki sormayın :slight_smile: