Python'da sort metodu ile sıralama nasıl yapılır?

zEtra

Kilopat
Katılım
26 Ocak 2018
Mesajlar
38
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Bir kod yazdım. Kullanıcıdan 10 tane meyve istenecek. İstenilen meyvelerin listesini sort metodu ile sıralayıp yazmam lazım. Aynı meyveden 2 tane girilince bir daha sormasını istiyorum ama onun yerine birini siliyor ve 9 tane meyve yazıyor. Nerede hata yaptım?

yazdığım kod:
meyveler = []
for a in range(0,11):
meyve_listesi = input('Meyva ismi girin: ')
if meyve_listesi in meyveler:
a = a - 1
continue
else:
meyveler.append(meyve_listesi)
meyveler.sort()
print(f"meyveler:\n {meyveler}")
 
Son düzenleme:
Python:
meyveler = []
for a in range(5):
    meyve_listesi = input('Meyva ismi girin: ')
    while meyve_listesi in meyveler:
        meyve_listesi = input('Meyva ismi girin: ')
    meyveler.append(meyve_listesi)
    meyveler.sort()     
print(f"meyveler:\n {meyveler}")

Doğru mu böyle?
 
Kral, sebep "for" döngüsüne atadığın değişkeni arttırıp azaltamazsın. Sen "a" değişkeninin RAM'deki kopyası üzerinde çıkartma işlemi yapıyorsun. "a = 3" iken aynı meyve adı girilirse tekrar meyve istiyorsun ama bu sırada "a = 4" oluyor. Yani programa bir adım atlatmış oluyorsun.

"range" yerine "while" döngüsü kullanman ve kullanıcının kaç adet meyve adı girdiğini bir sayaç değişkeniyle kontrol etmen daha doğru olacaktır.
Python:
meyveler = []

for i in range(10):
    print("Meyveler:", meyveler) # Bu, kullanıcı girdiği değerleri aklında tutmasın diye.
    meyve = input("Meyve giriniz: ")

    while True: # Bu sayede kullanıcı farklı bir ad girene kadar bu döngü içinde kalır.
        if meyve in meyveler:                              # Böylece i'nin değeri sabit tutularak işlem yapılabilir.
            print("Bu meyveyi daha önce girdiniz: ")
            meyve = input("Meyve giriniz: ")
           
        else:
            meyveler.append(meyve)
            break


meyveler.sort()
print(meyveler)

Bu kodları mutlaka incele. Döngüler hakkında sana çok faydası olacak.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…