我對 Python 有點陌生,所以如果這是一個非常簡單的問題,我提前道歉,但我一直在努力解決這個問題一段時間。
簡單地說,我的代碼是提示用戶他們是否正確地寫下了幾個值,如果他們有我希望回圈繼續,以便可以將值保存到資料庫中。如果他們沒有,我希望代碼回圈回到 while 回圈的頂部,以便他們可以重新輸入值。
出于某種原因,當我輸入“否”時,它無論如何都會通過回圈,我該如何解決這個問題?下面是代碼:
while True:
clear()
print("\nPlease input the required data.\n")
in_name = input('Name: ')
in_email = input('Email: ')
in_address = input('Address: ')
clear()
print("\nDoes this look correct?\n")
print("#--START--#\n")
print("Name: " in_name)
print("Email: " in_email)
print("Address " in_address)
print("\n#---END---#\n")
validate == input(">>> ")
if validate == "no":
continue
elif validate == "yes":
print("/nAttempting to copy to the database...")
cursor.execute("""
INSERT INTO contacts(name, email, address)
VALUES (?,?,?)
""", (in_name, in_email, in_address))
conn.commit ()
print ( 'Data entered successfully.\n' )
break
(我應該注意,這個撰寫程式是一個更大程式的一部分,回圈嵌套在另一個充當主選單的回圈中,也許這可能會有所幫助。)
uj5u.com熱心網友回復:
關鍵字 continue 將帶您回到下一個迭代,而無需完成當前迭代,例如。
for i in range(5):
if i == 2:
continue
print(i * 5)
這意味著當 i 為 2 時,它不會列印(i=2 * 5),而是會向上開始 i=3 的下一個回圈。輸出將是 0 5 15 20
如果你使用break,一旦到達這個關鍵字,它就會完全停止并退出迭代。我認為您正在尋找關鍵字通行證。
uj5u.com熱心網友回復:
'while True:' 將始終為 True,這意味著回圈將永遠持續下去。我相信您需要跳出回圈才能停止。根據 Jorge Alvarez 的回答,即使將“繼續”更改為“通過”也會讓回圈永遠進行。
如果我理解正確,您需要更改最初的“while True:”陳述句以測驗 validate 是否等于“no”或“yes”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/412261.html
標籤:
