2016-12-15 53 views
-2

私のコードは、ユーザーから10個の整数を入力し、入力された最大奇数を返しますが、動作しません。Pythonコードエラー "終了コード0で処理が終了しました"

コード:私はこのメッセージを取得

def myolution (self, numbers): 
    numbers = [input('Enter values') for i in range(10)] 
    odds = [y for y in numbers if y % 2 != 0] 
    if odds: 
     return max(odds) 
    else: 
     return 'All even' 

:プロセスは、0

+2

です。それは関数を宣言して何もしないことだけです。 'プロセスは終了コード0で終了しました 'はシェルからのメッセージで、Pythonインタプリタはエラーなしで完了しました。 –

+0

関数を呼び出しても、それは何の違いもありません。 – Idos

答えて

0

  1. はあなたからselfnumbersを使用していないあなたのコードと3つの問題があるの終了コードで終了しましたあなたの関数の署名。
  2. input文字列を返すので、数値に変換する必要があります。
  3. あなたは関数を実行しません。定義した関数だけを明示的に呼び出す必要があります。ここ

固定バージョンは、あなたのコードは、あなたの関数を呼び出すことはありません

def myolution(): 
    numbers = [int(input('Enter a value: ')) for i in range(10)] 
    odds = [y for y in numbers if y % 2 != 0] 
    if odds: 
     return max(odds) 
    else: 
     return 'All even' 

print(myolution()) 
関連する問題