Belirli bir sayıyı bir listede yer alan bir sayı aralığına dönüştürebiliyorum (Örnek: 10 numara verildiğinde, liste 1 2'yi içerecektir) 3 4 5 6 7 8 9 10), o zaman, bu listeden tüm çift sayıları silmesi ve tüm sayıları ve listeyi tüm çift numaralar olmadan yazdırır. Nasıl yapılacağına dair uygun bir fikir edinmeden birçok işe yaramaz şey denedim. (Listeleri ve piton forumlarında çalıştı birçok dersler) Python 3 varsayarsakBir python listesi okuyun ve verilen listeden belirli sayıları kaldırın
cevap
given_number = 10
l = list(range(1, given_number + 1))
odds = [i for i in l if i%2]
print(l, odds)
Oldukça kolay görünüyor. Kullanıcı girdisine "Given_number = 10" yazmalıyım. Teşekkürler! –
@IsaacLo teşekkür için bir çözüm olarak işaretleyebilirsiniz;) –
myRange = 10
myList = list(xrange(myRange))
evenList = [x for x in myList if x % 2 == 0]
oddList = [x for x in myList if x % 2 != 0]
print myList
print evenList
print oddList
:
user_input = input("Please give the number: ")
lst = [i+1 for i in range(0, user_input)]
odd_lst = [i for i in lst if i%2]
'[i + 1 aralık için (0, user_input)]' 'bir aşırı sıkma türüdür. Bunun yerine liste yapın (aralık (1, verilen_number + 1)). – ozgur
Ne kadar? İyi bir alternatif çözüm olacağını düşündüm. (Liste anlamalarını kullanmakta oldukça yeniyim, 'list()' anlamalarını kullanmaktan daha iyidir?) –
aralık step
, üçüncü parametresi vardır. Garip için
: dahi İçin
range(1, number + 1, 2)
:
range(2, number + 1, 2)
Bize şimdiye kadar denedim kod gösterir misiniz? –
limite = int (raw_input ("Bana bir sınır verin:")) lim_lista = aralık (sınır) print lim_lista –