2017-09-03 58 views
2

運行此代碼後,如果我將任何「yes」或「no」任何東西,它的響應出現在控制檯中,可能只是簡單地刪除它,然後出現「錯誤的答案「。 ?如何從Python中的控制檯刪除未知的用戶輸入

import random 

print("The random number is:") 

for x in range(1): 
    print(random.randint(1, 6)) 

while True: 

    answer = input("Do you want to roll again? 'yes' or 'no' ") 

    print(answer) 

    if answer == 'yes': 
     for x in range(1): 
      print("The new number is:") 
      print(random.randint(1, 6)) 


    elif answer == 'no': 
     print("Thanks for playing.") 
     break 

    else: 
     print("Wrong answer.") 
     break 
+1

僅在想要的情況下打印答案並不容易? – PRMoureu

+0

但是,如果用戶放任何東西是或不是,出現在控制檯 –

回答

1

我建議只有在情況下是或否打印answer

while True: 
    answer = input("Do you want to roll again? 'yes' or 'no' : ") 

    if answer.lower() in ['y','yes', 'of course']: 
     print('Yes') 
     for x in range(1): 
      print("The new number is:") 
      print(random.randint(1, 6)) 


    elif answer.lower() in ['n', 'no', 'never']: 
     print('No') 
     print("Thanks for playing.") 
     break 

    else: 
     print("Wrong answer.") 

我只是改變了可能的答案,讓其他答案(更靈活的不區分大小寫,添加其他的話... )

而且,我在else語句中刪除的突破,我想你應該讓一個機會,誰做的錯別字:)

用戶(我不知道你需要一個for循環來獲得隨機數)

+0

完美工作,就像我想,我只是在打印後添加一個「休息」(「錯誤的答案。」)「。如果我不把那個突破再次打印出來,「你想再打一次嗎?」 –

+0

@AndréMartins感謝您的反饋,只有您可以決定允許用戶執行哪些操作 – PRMoureu