2017-05-12 9 views
0

1を入力すると実際のリストが表示されます。空の場合、2を入力するとリストに "x"を追加できるコードを作成する必要があります。あなたは3を押してリストを削除し、最後に9を押すとPythonを終了します。誰かが私を助けている場合これをどのように修正できますか? Python list with input

list = [] 
if input == "1": 
    print list 
if input == "2": 
    list.append("hi") 
    print list 
if input == "3": 
    list.remove("hi") 
    print list 
if input == "9": 
    sys.exit() 

- 私は喜んでいる:

は、ここでは、コードです。

答えて

1

これを試すことができます。 あなたは毎回入力をするつもりだと思ったので、無限のwhileループがあります(間違っていて、入力を1回だけ取るつもりなら、whileループを削除しても問題ありません) 。 また、リストから要素を削除したと思ったのは、リストに挿入されている最新の要素を削除することだったので、このコードは挿入された最新の要素を削除します。 {1,2,3,9}以外の入力がある場合は、次のコードで処理します。

うまくいけば、これで問題は解決します。

import sys 
arr = [] #creates an empty list. 

while True: 

inp = raw_input("Enter the number you want to enter {1,2,3,9} :- ") 

if inp == "1": 
    print arr; 

elif inp == "2": 
    temp = raw_input("Enter what you want to add to the list :- ") 
    arr.append(temp) 
    print arr 

elif inp == "3": 
    arr = arr[:-1] ## will remove the last element , and will also handle even if there is no element present 
    print arr 

elif inp == "9": 
    sys.exit() 

else: #Any input other than {1,2,3,9} 
    print "Please enter the input from {1,2,3,9}" 
0

これを試してください。

import sys 
list = [] 
ch = sys.stdin.read(1) 
if ch == "1": 
    print(list) 
if ch == "2": 
    list.append("hi") 
    print(list) 
if ch == "3": 
    list.remove("hi") 
    print(list) 

if ch == "9": 
    sys.exit() 
関連する問題