2017-10-11 56 views
0
while True: 
    firstName = input("Please enter your First Name\n") 
    print ("Your First Name is", firstName.title()) 
    correct1 = input("Is this correct?\n") 
     if correct1.lower() == "yes": 
      break 
     if correct1.lower() == "no": 
      continue 
     else: 
      print ("Please say yes or no") 

這是我的一些代碼,基本上在「else」之後,我想返回一行代碼,說「correct1 = input(」這是否正確> \ n「)」但我不知道該怎麼做。任何幫助將不勝感激。如何返回一個循環中的某個點python

+3

_i想回到code_線你的意思_i要返回**的** code_ –

+0

的線這就是我的意思是,當我運行acutal代碼,並告訴我說是或不是,請不要回復「請輸入您的名字」,我希望它說「這是正確的嗎?」 – Tazzy3

+0

在內部循環中執行'correct1'讀取:'correct1 =「」',然後:'while correct1.lower()not in [「yes」,「no」]:.... .... – CristiFati

回答

0

@ GreenSaber的答案的擴展。您需要添加一個嵌套循環,以便在不輸入時詢問Is this correct?yesno但除非輸入no,否則不要再詢問名稱。

correct_name = False 
while correct_name == False: 
    firstName = input("Please enter your First Name\n") 
    print ("Your First Name is", firstName.title()) 
    while True: 
     correct1 = input("Is this correct?\n") 
     if correct1.lower() == "yes": 
      correct_name = True 
      break 
     if correct1.lower() == "no": 
      correct_name = False 
      break 
     else: 
      print ("Please say yes or no") 
1

如果您移動打印("Your First Name is", firstName.title())下的while循環,您的程序可能會執行與當前操作相同的操作,同時也會在您希望的時候返回到while循環的開始處。

0

這應該工作:

correct_name = False 
while correct_name == False: 
    firstName = input("Please enter your First Name\n") 
    print ("Your First Name is", firstName.title()) 
    print ("Please say yes or no") 
    correct1 = input("Is this correct?\n") 
    if correct1.lower() == "yes": 
     correct_name = True 
    else: 
     correct_name = False 

我做了一個VAR稱爲correct_name並將其設置爲False。所以,雖然correct_nameFalse該程序將繼續詢問用戶他們的名字,直到他們說是。一旦他們說好,該計劃就會結束。

+0

- 歡迎,你想租一輛車嗎?請註明'是'或'否' -yes - 這很好!首先我們需要了解一些細節 - 請輸入您的名字 -taran - 您的名字是Taran - 這是正確的嗎? -abc - 請說是或否 - 請輸入您的名字 這是我運行我的代碼後得到的問題。與上面的代碼相同^我希望它說「請說是或否」,然後說「這是正確的嗎?」 – Tazzy3

+0

好的,一秒鐘!我會改變我的回答 – GreenSaber

+0

暫緩對傢伙MisterMystery代碼已經工作,謝謝你的幫助:) – Tazzy3