我已經創建了一個函數,它將一個國家的文本文件放入一個列表中,然後向用戶請求一個居住國家,如果該國家無效,那麼該計劃應該不斷向用戶請求一個有效的國家,而且它很有效,但如果這個國家有效,那麼shell會說它正在完成這個動作,但它從來沒有真正完成它。有沒有人有任何建議來解決這個問題?如何使用if語句退出while循環?
def real_country(variable): #function to determine if the country inputted for a new
user is valid
countries = open('country list.txt', 'r+')
country_list = countries.readlines()
for i in range(len(country_list)):
country_list[i] = country_list[i].strip('\n')
for i in range(len(country_list)):
if country_list[i] == variable:
return True
print are you a new or existing user?
exisitngORnew = raw_input()
if existingORnew == 'new':
Real_Country = 'unknown'
print 'What is your country of residence'
country = raw_input()
while Real_Country == 'unknown':
if real_country(country) == True:
Real_Country == country
else:
print 'Please enter a real country'
country = raw_input()
print 'program finally works!'
該函數是真正的遞歸還是錯誤標籤?如果它確實是遞歸的,那可能是你的問題。 – user3553031
@jonrsharpe我知道該怎麼做,但由於某種原因,我在這個特定的實例中收到一個錯誤 – JDizzle98
@ user3553031確實遞歸意味着infinte? – JDizzle98