2016-04-07 60 views
1

我應該能夠將給定數字轉換爲列表中的數字範圍(例如:給定數字10,列表將包含1 2 3 4 5 6 7 8 9 10),然後,從該列表中刪除所有偶數,並打印列表中的所有數字和沒有所有偶數的列表。我已經嘗試了許多沒用的東西,但沒有就如何製作它的問題得到適當的想法。 (在列表和蟒論壇試過許多教程)閱讀python列表並從給定列表中刪除某些數字

+2

你能否告訴我們到目前爲止你已經嘗試過的代碼? –

+0

limite = int(raw_input(「給我一個限制:」)) lim_lista =範圍(限制) print lim_lista –

回答

4
given_number = 10 
l = list(range(1, given_number + 1)) 
odds = [i for i in l if i%2] 
print(l, odds) 
+0

看起來相當容易。我只需要將「Given_number = 10」替換爲用戶輸入。謝謝! –

+1

@IsaacLo你可以將答案標記爲感謝的解決方案;) –

-1
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 
0

假設的Python 3:

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] 
+0

'[i + 1 for i in range(0,user_input)]'是一種矯枉過正。做'list(range(1,given_number + 1))'而不是。 – ozgur

+0

怎麼樣?我認爲這將是一個很好的替代解決方案。 (我對使用列表解析相當陌生,比使用解析更像'list()'?) –

1

範圍具有第三參數,step

對於奇數:

range(1, number + 1, 2) 

因爲即便:

range(2, number + 1, 2)