Python küme sırasını bozuyor

Neptun4334

Picopat
Katılım
22 Kasım 2021
Mesajlar
93
Çözümler
1
Yer
İstanbul
Daha fazla  
Cinsiyet
Erkek
Okul ödevim için şu kodu yazdım:

Kod:
print ("Shopping List")
print ("-------------")
print ("This program builds a shopping list and then checks to see that you have bought all items.")
foodset = set()
print ("Enter an item to add to the list (or x to exit)")
food = ""
num = 0
while food != "x":
 num = num + 1
 food = input(str(num) +". item (or x to exit): ")
 foodset.add(food)
foodset.remove("x")
print (foodset)
print ("Here is your shopping list: ")
for i in foodset:
 print (i)
print ("There are ",len(foodset)," items in your list.")
for i in foodset:
 cont = input("Have you purchased "+str(i)+"? (y/n): ")

Kodun sonuçu şu şekilde çıkıyor:



Sonda kontrolü sorarken yiyeceklerin sırası bozuluyor, bunu nasıl çözebilirim?
 
Kendin OrderedDict kullanarak "OrderedSet" class'i yazabilirsin, set'i extend ederek.
Ya da orderedSet class'ini yukleyebilirsin pip, conda vs kullanarak.
 
Kendin OrderedDict kullanarak "OrderedSet" class'i yazabilirsin, set'i extend ederek.
Ya da orderedSet class'ini yukleyebilirsin pip, conda vs kullanarak.
Böyle şeylere girişmeyi isterdim ama hocamız işlenmeyen konulardan kod kullanmamıza biraz karşı.
 
Odevin eger bir alisveris listesini set kullanarak yapmaksa, zaten odevi kontrol edecek kisi siranin bozulacaginin farkindadir.

Eger puan kirarsa bu linki gonderebilirsin.

A set is an unordered collection with no duplicate elements


Cumlesiyle set'lerin unordered oldugu belirtiliyor.

Eger kontrol edecek kisi, set kullanmani zorunlu tutmuyorsa ve sen sirayi korumak istiyorsan liste veya tuple kullanmak durumundasin.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…