2017-12-06 6 views
1

私はユーザーが考える数を把握するプログラムを作成しようとしています。Python。変更リスト

nums=list(range(1,11)) 

def remove_odd(l): 
    return [n for n in l if n % 2 == 0] 

y=str(input('Is it an even number?')) 
if y=='yes': 
    (remove_odd(nums)) 

print(nums) 

私はこの出力を得る:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

をしかし、私は取得したい:

[2, 4, 6, 8, 10] 

は私が間違って何をしているのですか?

+1

の戻り値を受け取るために、新たな変数を使用する必要があります。また、補足として: 'input'が既に文字列を返すので、' str(input'は不要です。 – Roars

答えて

2

あなたのリストには何も変更されません。あなたのコードがに変更します。

if y=='yes': 
    nums = remove_odd(nums) 
0
nums=list(range(1,11)) 
def remove_odd(l): 
    return [n for n in l if n % 2 == 0] 
y=str(input('Is it an even number?')) 
if y=='yes': 
    nums = remove_odd(nums) 
print(nums) 

あなたはあなたがリストに加えた変更を保存していない機能

関連する問題