Kullanıcıdan okunan bir liste kullanarak bir çeşit veritabanı oluşturuyorum. Kullanıcı finish
girdiğinde while döngüsünün durmasını istiyorum. Ancak, bazı nedenlerden dolayı, döngüyü kırması için finish
TWICE girmem gerekiyor.Döngü bozulmayacak
Ayrıca liste iade edildikten sonra boş.
def readNames():
nameList = []
count = 0
while count != -1: #infinite loop
addList = raw_input("Please enter a name: ")
if addList == 'finish':
return nameList
break
nameList.append(addList)
print nameList
bunu çağırma ve
AyrıcareadNames()
print readNames()
ile çalıştı eğer kontrol ediyorum, burada çıkış
Please enter a name: Dave
['Dave']
Please enter a name: Gavin
['Dave', 'Gavin']
Please enter a name: Paul
['Dave', 'Gavin', 'Paul']
Please enter a name: Test1
['Dave', 'Gavin', 'Paul', 'Test1']
Please enter a name: finish
Please enter a name: finish
[]
>>>
Benim için iyi çalışıyor (IDLE'de). Bunun dışında, sonsuz bir döngü yapmanın çok daha kolay yolları vardır ('Gerçek: 'yeterlidir; neden bir değişken değişken + durum yaratır? Aslında' count = -1' yi arıyordum ...). Ayrıca, 'break' gereksizdir ('return' işlevi ve dolayısıyla döngüden çıkar). – delnan
Benim için iyi çalışıyor, bazı notalar olsa da: “Gerçekken:” True: 'sonsuz döngüsünüz için, 'break''e asla ulaşamadığınızdan sonra' break 'yapmanız gerekmiyor. 'names = readNames()' sadece benim için iyi çalışıyor. Not: Girintinizi düzelttim. –