2013-12-02 26 views
7

Girdiyi değerlendiren bir işleve sahibim ve girdilerini sormaya ve boş bir satır girene kadar değerlendirmeye devam etmem gerekiyor. Bunu nasıl kurabilirim?Python: Belirli bir giriş elde edilene kadar bir programı tekrar etmeyi sürdürmek nasıl?

while input != '': 
    evaluate input 

Böyle bir şey kullanmayı düşündüm, ancak tam olarak çalışmadı. Herhangi bir yardım?

+1

Nasıl çalışmıyor? Bu ne işe yarıyor? Ne görmeyi bekliyorsun? – Collin

+0

Yukarıdaki kod, '' değilse, girdiyi tekrar tekrar sorar. Boş bir satır girilene kadar girişi değerlendirmek için ona ihtiyacım var. – user3033494

+1

[Olası bir yanıt verene kadar kullanıcının giriş yapmasını isteme] 'nin olası kopyası (http://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a-valid- yanıt) – lmiguelvargasf

cevap

16

Bunu yapmanın iki yolu vardır. Öncelikle şu şekildedir:

while True:    # Loop continuously 
    inp = raw_input() # Get the input 
    if inp == "":  # If it is a blank line... 
     break   # ...break the loop 

ikinci şu şekildedir: Python 3.x üzerinde iseniz, input ile raw_input değiştirmeniz gerekiyor olacağını

inp = raw_input()  # Get the input 
while inp != "":  # Loop until it is a blank line 
    inp = raw_input() # Get the input again 

Not.

+0

Daha fazla giriş yoksa bu son girişte bir EOF hatası verir. –

1
muhtemelen girdi geçerli olup olmadığını izler ayrı bir değeri kullanmak istediğiniz

:

good_input = None 
while not good_input: 
    user_input = raw_input("enter the right letter : ") 
    if user_input in list_of_good_values: 
     good_input = user_input 
İlgili konular