Python Sorularım Var
-
Kullanıcı numara girecek. Sonrasında numaralar çift ya da tek durumuna göre listelere eklenecek.Listelerin ikisinde de 4'er eleman olduğu zaman commentten sonraki işlemleri yapmaya başlayacak.Ama o 4'er eleman olayını nasıl yapabilirim bilemedim.Bi de kodda da şunu şöyle yapsan dediğiniz şeyler varsa onları da önerilerde bulunursanız sevinirim :)num=0listodd=['Tek Sayılar:']listeven=['Çift Sayılar:']while num<10:num+=1sayi=input("bir sayi girin: ")if sayi not in listodd or listeven:
if(int(sayi)%2==0):
listeven.append(sayi)print (listeven)
else:listodd.append(sayi)print (listodd)
#listelerde 4'er eleman olduğu zaman#aşağıdaki işlemlerin başlamasını istiyorum.
listodd.extend(listeven)list_new = list (listodd)print (list_new)
list_new.sort()print(list_new)
list_new = [x*2 for x in(list_new)]print (list_new)
for x in list_new:print("{} veri tipi: {}".format(x, type(x)))
Değişiklik notu: kodda kelime hataları vardı onun için düzelttim. -
hocam len() fonksiyonu var len(listodd) olarak verirsen sana içerisinde kaç eleman olduğunu dönderir
if len(listodd) == 4 and len(listeven) == 4:
şeklinde kullanabilirsin örnek olması açısından
-
Hocam listelerin ilk elemanlarını String olarak girmişsin ama sonra Integer eklemeye çalışıyorsun. Listeler yaratıldığında boş olsalar ve sadece aynı türde (Integer) objeler tutsalar daha sağlıklı olurmuş.
Bir de neden 10 tane sayı girişi istiyorsun? Onu merak ettiğimden soruyorum.
-
TheAvenqer bunu yazdı
hocam len() fonksiyonu var len(listodd) olarak verirsen sana içerisinde kaç eleman olduğunu dönderir
if len(listodd) == 4 and len(listeven) == 4:
şeklinde kullanabilirsin örnek olması açısından
bundan sonrasında continue ile mi devam edicem peki yukarıdaki işlemi nasıl durdurucam ?
-
JPriest bunu yazdı
Hocam listelerin ilk elemanlarını String olarak girmişsin ama sonra Integer eklemeye çalışıyorsun. Listeler yaratıldığında boş olsalar ve sadece aynı türde (Integer) objeler tutsalar daha sağlıklı olurmuş.
Bir de neden 10 tane sayı girişi istiyorsun? Onu merak ettiğimden soruyorum.
string integer olayı gozumden kacmıs aslında. eyvallah onu duzelteyim.
10 sayı isteme nedenim aslında bir kısıtlama olsun diyeydi.
4 cift 4 tek olayı da tamamen kafamdan belirledim. 2 tane de insanlar fazladan eklerse diye oyle 10 sayıya kadar döndürmek için koydum. -
cahitnuri bunu yazdıTheAvenqer bunu yazdı
hocam len() fonksiyonu var len(listodd) olarak verirsen sana içerisinde kaç eleman olduğunu dönderir
if len(listodd) == 4 and len(listeven) == 4:
şeklinde kullanabilirsin örnek olması açısından
bundan sonrasında continue ile mi devam edicem peki yukarıdaki işlemi nasıl durdurucam ?
listodd = [] listeven = [] while True: print(len(listodd),len(listeven))
if len(listodd) == 4 and len(listeven)==4:
break sayi=int(input("bir sayi girin: ")) if sayi not in listodd and sayi not in listeven: if sayi % 2 == 0 and len(listeven) != 4: listeven.append(sayi) elif sayi % 2 != 0 and len(listodd) != 4: listodd.append(sayi) listodd.extend(listeven) list_new = list (listodd) print (list_new) list_new.sort() print(list_new) list_new = [x*2 for x in(list_new)] print (list_new) for x in list_new: print("{} veri tipi: {}".format(x, type(x))) -
Şöyle bir şey yapabilirsin
listodd=[] listeven=[] while True: sayi=int(input("Bir sayı giriniz: ")) if(sayi%2==0): if(len(listeven)!=4): listeven.append(sayi) else: if(len(listodd)!=4): listodd.append(sayi) if(len(listeven) == 4 and len(listodd) ==4): break listodd.extend(listeven) list_new = list (listodd) print (list_new) list_new.sort() print(list_new) list_new = [x*2 for x in(list_new)] print (list_new) for x in list_new: print("{} veri tipi: {}".format(x, type(x)))
-
vay iki farklı cevap iki farklı yol :)
Eyvallah ya çok sağolun.
Buradan arada bu tarz sorular sorabilirim.