2017-11-09 10 views
0

開発者。スクリプトがすぐに実行されて停止する - 解決済みの問題

found = False 
i = 0 

capital = ["London","New Dehli","Jerusalem","Paris","Washington DC","Riyadh","Kaula Lumpur"] 

user_search = ("Which capital do you wish to search for \n - ") 
while found == False and i < len(capital): 
    if user_search == capital[i]: 
    print ("Capital found") 
    found = True 
    i= i+1 

問題:

私は目的のためにフォークRepl.it上で、このプログラムを実行した - 十分な独特のRepl.itが自動的にプログラムを停止し、その後実行時に、動作するようには思えません。これはコード内で実行されたREPLでエラーですか?

ありがとうございます。

UPDATE:問題が解決され、入力が簡単に間違えられました。

+0

なぜ 'user_search in capital:'を使用しないのですか? 'user_search = input(" Capital ... ")' – depperm

+1

'user_search'は単純な文字列で、大文字の配列には含まれていません。したがって、 'i'変数は7までインクリメントされ(配列内の項目数)、プログラムは終了します。 – zefixlluja

+0

@ I.Abbasあなたがユーザー入力を得る他の主な問題を修正していることを確認してください。 – depperm

答えて

3

あなたが入力を取得し、そこそこのようにそれを変更されていません。

user_search = input("Which capital do you wish to search for \n - ") 

を適切なインデント、間隔と正しいスペルで、それは次のようになります。あなたがなしで行うことができれば

found = False 
i = 0 
capital = ["London", "New Delhi", "Jerusalem", "Paris", "Washington DC", "Riyadh", "Kuala Lumpur"] 

user_search = input("Which capital do you wish to search for \n - ") 

while found == False and i < len(capital): 
    if user_search == capital[i]: 
     print("Capital found") 
     found = True 
    i = i + 1 

whileループは他の人のように、if statementとメンバーシップオペレーターinを使用するだけでいいです。

capital = ["London", "New Delhi", "Jerusalem", "Paris", "Washington DC", "Riyadh", "Kuala Lumpur"] 
user_search = input("Which capital do you wish to search for \n - ") 

if user_search in capital: 
    print("Capital found") 
1

あなたが入力を依頼する必要があります、と私はwhileループをやっていないことをお勧め出力何もそれをしたい場合は、次のように、あなたは、リスト内の文字列を探すことができます。

capital = ["London","New Dehli","Jerusalem","Paris","Washington DC","Riyadh","Kaula Lumpur"] 
user_search = input("Which capital do you wish to search for \n - ") 
if user_search in capital: 
    print ("found it") 
関連する問題