Python for döngüsü birinci sayı 4 olarak kalıyor

Tunahan Mert07

Decapat
Katılım
24 Eylül 2021
Mesajlar
376
Çözümler
1
Yer
Antalya/Alanya
Daha fazla  
Cinsiyet
Erkek
Merhabalar, altta fotoğraf da birinci sayı 4 olarak kalıyor fakat ikinci sayı gibi ilerlemesi lazım. Bunu nasıl çözebiliriz?

problem.PNG
 
Son düzenleyen: Moderatör:
Sen ikinci for döngüsünde, birinci for döngüsündeki i değişkenini çağırmışsın. Bunu nasıl yaptın, anlamadım.

Sen ikinci for döngüsünde, birinci for döngüsünü sadece 1 defa çağırarak kullanıyorsun.

Sayıları önce listelere ekleyebilir, sonra metot yardımıyla listenin itemlerine ulaşarak yazdırabilirsin.



Düzenleme:

Python:
sayi1 = int(input("1. sayıyı giriniz: "))
sayi2 = int(input("2. sayıyı giriniz: "))

toplam = 0

sayilar1 = []
sayilar2 = []

while True:
    for s1 in range(sayi1):
        print(s1) # kontrol
        toplam += s1
        sayilar1.append(s1)
       
    for s2 in range(sayi2):
        print(s2) # kontrol
        toplam += s2
        sayilar2.append(s2)
       
    for (x, i) in zip(sayilar1, sayilar2):
        print("Birinci sayı: ", str(x), "İkinci sayı: ", str(i))
    print("Toplam:", toplam)
    break
 
Son düzenleme:
Merhaba, sanırım ilk döngü bittikten sonra ikinci döngü içerisinde i değişkenini yazdırmaya çalıştığından dolayı oluyor. Döngü bittikten sonra ekrana yazdırdığın için i değeri döngü bitimindeki 4 değerinde kalıyor ve ekrana sürekli 4 yazdırıyor. Birinci sayı değerini ilk döngü içerisinde yazdırmayı deneyebilirsin.
 
Merhaba, sanırım ilk döngü bittikten sonra ikinci döngü içerisinde i değişkenini yazdırmaya çalıştığından dolayı oluyor. Döngü bittikten sonra ekrana yazdırdığın için i değeri döngü bitimindeki 4 değerinde kalıyor ve ekrana sürekli 4 yazdırıyor. Birinci sayı değerini ilk döngü içerisinde yazdırmayı deneyebilirsin.

Fakat öyle alt alta oluyor ben yan yane şeklinde istiyorum.
Sen ikinci for döngüsünde, birinci for döngüsündeki i değişkenini çağırmışsın. Bunu nasıl yaptın, anlamadım.

Sen ikinci for döngüsünde, birinci for döngüsünü sadece 1 defa çağırarak kullanıyorsun.

Sayıları önce listelere ekleyebilir, sonra metot yardımıyla listenin itemlerine ulaşarak yazdırabilirsin.

Anlamayamadım fakat problemim şu yan yana birinci sayı ve ikinci sayı değerlerini yazdırmak istiyorum eğer üstteki for döngüsünde print(i) yapsaydım alt alta olacaktı. İnşallah anlatabilmişimdir.
 
Son düzenleme:
Python:
sy1 = int(input("Sayı bir >>> "))
sy2 = int(input("Sayı İki >>> "))

toplam1 = 0
toplam2 = 0

for i in range(1,sy1+1):
    toplam1 = i
    for j in range(1,sy2+1):
        toplam2 = toplam1
        if toplam2 > toplam1:
            toplam2 += 1
    print(f"Birinci Sayı {toplam1}\tİkinci Sayı {toplam2}")

Çıktı 1:
Sayı bir >>> 4 Sayı İki >>> 4 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4

Çıktı 2: Sayı bir >>> 5 Sayı İki >>> 4 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4 Birinci Sayı 5 İkinci Sayı 5

Çıktı 3: Sayı bir >>> 4 Sayı İki >>> 5 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4

Çıktı 4: Sayı bir >>> 13 Sayı İki >>> 10 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4 Birinci Sayı 5 İkinci Sayı 5 Birinci Sayı 6 İkinci Sayı 6 Birinci Sayı 7 İkinci Sayı 7 Birinci Sayı 8 İkinci Sayı 8 Birinci Sayı 9 İkinci Sayı 9 Birinci Sayı 10 İkinci Sayı 10 Birinci Sayı 11 İkinci Sayı 11 Birinci Sayı 12 İkinci Sayı 12 Birinci Sayı 13 İkinci Sayı 13

Çok yüzeysel bir cevap. Çünkü neyle uğraştığınızı anlayamadım, ne yapmak istediğinizde aslında sizde kararsız olabilirsiniz, vs... bir sürü etmen var. Bu etmenlere karşıda minimal bir düşünce ile yaklaşılırsa ortaya böyle bir kod çıkar. Bunu geliştirmek gerek
 
Python:
sy1 = int(input("Sayı bir >>> "))
sy2 = int(input("Sayı İki >>> "))

toplam1 = 0
toplam2 = 0

for i in range(1,sy1+1):
 toplam1 = i
 for j in range(1,sy2+1):
 toplam2 = toplam1.
 if toplam2 > toplam1:
 toplam2 += 1
 print(f"Birinci Sayı {toplam1}\tİkinci Sayı {toplam2}")

Çıktı 1:
Sayı bir >>> 4 Sayı İki >>> 4 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4

Çıktı 2: Sayı bir >>> 5 Sayı İki >>> 4 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4 Birinci Sayı 5 İkinci Sayı 5

Çıktı 3: Sayı bir >>> 4 Sayı İki >>> 5 Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4

Çıktı 4: Sayı bir >>> 13. Sayı İki >>> 10. Birinci Sayı 1 İkinci Sayı 1 Birinci Sayı 2 İkinci Sayı 2 Birinci Sayı 3 İkinci Sayı 3 Birinci Sayı 4 İkinci Sayı 4 Birinci Sayı 5 İkinci Sayı 5 Birinci Sayı 6 İkinci Sayı 6 Birinci Sayı 7 İkinci Sayı 7 Birinci Sayı 8 İkinci Sayı 8 Birinci Sayı 9 İkinci Sayı 9 Birinci Sayı 10 İkinci Sayı 10. Birinci Sayı 11 İkinci Sayı 11. Birinci Sayı 12 İkinci Sayı 12. Birinci Sayı 13 İkinci Sayı 13.

Çok yüzeysel bir cevap. Çünkü neyle uğraştığınızı anlayamadım, ne yapmak istediğinizde aslında sizde kararsız olabilirsiniz, vs... Bir sürü etmen var. Bu etmenlere karşıda minimal bir düşünce ile yaklaşılırsa ortaya böyle bir kod çıkar. Bunu geliştirmek gerek.

Sen ikinci for döngüsünde, birinci for döngüsündeki i değişkenini çağırmışsın. Bunu nasıl yaptın, anlamadım.

Sen ikinci for döngüsünde, birinci for döngüsünü sadece 1 defa çağırarak kullanıyorsun.

Sayıları önce listelere ekleyebilir, sonra metot yardımıyla listenin itemlerine ulaşarak yazdırabilirsin.



Düzenleme:

Python:
sayi1 = int(input("1. sayıyı giriniz: "))
sayi2 = int(input("2. sayıyı giriniz: "))

toplam = 0

sayilar1 = []
sayilar2 = []

while True:
 for s1 in range(sayi1):
 print(s1) # kontrol.
 toplam += s1.
 sayilar1.append(s1)

 for s2 in range(sayi2):
 print(s2) # kontrol.
 toplam += s2.
 sayilar2.append(s2)

 for (x, i) in zip(sayilar1, sayilar2):
 print("Birinci sayı: ", str(x), "İkinci sayı: ", str(i))
 print("Toplam:", toplam)
 break

Hocam siz beni yanlış anladınız ben mesela birinci sayı 6 ikinci sayı 5 dediğimde birinci sayı 6 ya kadar ikinci sayıda 5'e kadar gidecek.
 
6 ikinci sayı 5 dediğimde birinci sayı 6 ya kadar ikinci sayıda 5'e kadar gidecek.

Bu normal bir şekilde yapılabilir ama sizin istediğiniz bunlar yan yana durup alt alta gözükmesi.
bu durumda faklı olaylarda devreye girdiğinden oturup biraz araştırma yapmanız gerekiyor.

Örnek olarak şunu inceleyebilirsiniz

(açık söylemek gerekirse alt alta gözükmesi vs.. bunlara takılmayın. Gidin bir dosyadan veri çekip aynı dosyanın aynı verisini değiştirebiliyormusunuz onu deneyin (dosya işlemleri) gibi gibi daha uzar da gider)
 
Son düzenleme:

Geri
Yukarı