2017-09-03 53 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