For Döngüsü ile Alakalı Problem

Merhaba arkadaşlar. Geçen günlerde sitedeki metink karşılaştırma örneğinin fazlasıyla benzerini yazdım. Ancak ilk yazdığım halde ikinci çıktı bir pattern oluşturdu. Daha sonra print fonksiyonunu sadece bir tab kadar sola aldığımda problem çözüldü ancak hala tam olarak problemi çözebilmiş değilim. Kod şu:

secim = input("""Birinci metini referans alacaksanız 1,
ikinci metni referans alacaksanız 2 yazın""")
metin1="aksğğğjdakshfjjısdfhskljdfhkskdfh"
metin2="aslkddhıuwgbhvjkmönfbncbvncmvbdduhffdkjhf"
fark=""
if secim =="1":
    for i in metin1:
        if not i in metin2:
            if not i in fark:
                fark += i
    print(fark)
                
        
            
elif secim =="2":
    for k in metin2:
        if not k in metin1:
            if not k in fark:
                fark += k
    print(fark)
            
input()

Koddaki

print(fark)

fonksiyonu bir tab kadar sağa kaydırdığımda sonuç çok farklı oluyor:

u
uw
uwg
uwgb
uwgb
uwgbv
uwgbv
uwgbv
uwgbvm
uwgbvmö
uwgbvmön
uwgbvmön
uwgbvmön
uwgbvmön
uwgbvmönc
uwgbvmönc
uwgbvmönc
Bunun sebebi nedir hocalarım açıklayabilirseniz memnun olurum. Sanırım print fonksiyonu for döngüsünün içine dahil olmuş oluyor ama for döngüsünde her bir öğeyi ayrı ayrı taramaz mıydı? Yoksa her birinden en baştan tarama mı yapıyor?

Teşekkürler

Merhaba, aramıza hoş geldiniz.

print(fark) fonksiyonunu, for döngüsünün altına yazarsanız, değeri koşula bağlı olarak değişen fark değişkenini for döngüsünün her adımında ekrana yazdırmış olursunuz.

1 Beğeni

Anladım hocam teşekkür ediyorum. :slight_smile: