2016-12-17 10 views
0

私は、Python 3での新たなんだといくつかの助けを必要とする、私のエラーは、次のとおりです。とValueError:int型のための無効なリテラル()ベース10と: ''

"ValueError: invalid literal for int() with base 10: '' " 

任意のアイデア?あなたは単に押す代わりに、入力中に番号を入力しなかった

liste = [1, 2, 3] 

def liste_pop(): 
    print(liste) 
    pop = int(input('remove = Enter um das letzte Element der Liste auszugeben + entfernen oder die Position eingeben')) 
    liste.pop(pop) 
    return 
+2

あなたは 'input'の間に数字を入力しませんでしたが、単にenterを押して(そして空の文字列を戻しただけで)あなたは数字を入力しませんでした。ユーザーが無効な入力を入力する状況を処理するコードを追加します(ループ内では 'try-except')。 –

+1

[ValueError:基数10のint()のリテラルが無効です: 'stop'](http://stackoverflow.com/questions/16742432/valueerror-invalid-literal-for-int-with-base-10- stop) – MalloyDelacroix

+0

これは@MalloyDelacroixのダップとみなされますが、そこに投稿された解決策はこの質問には間違いなく機能します。 –

答えて

2

が入る(と空の文字列を戻った):私が使用しているコードは次のようです。あなたは、これはあなたがexcept句でValueErrorを期待しているエラーを指定try-exceptで行われ、Pythonで、ユーザーは無効な入力に入る状況に対処するためのコードを追加する必要があります。

def liste_pop(): 
    print(liste) 
    while True: 
     try: 
      pop = int(input('remove = Enter um das letzte Element der Liste auszugeben + entfernen oder die Position eingeben')) 
      break 
     except ValueError as e: 
      print("Only numbers accepted") 
    liste.pop(pop) 

のうちもちろん、これには追加の問題があります。ユーザーが受け入れられた範囲外の番号を入力するとどうなりますか? IndexErrorが呼び出されます。

関連する問題