While 循环 - 当输入 y/n 以外的任何内容时更新计数器

While loop - Counter being updated when anything other than y/n are entered

我想知道一种简单的方法,当输入 y/n 以外的内容时,在 while 循环内不更新计数器。这是我的代码:

if yes_or_no == "y":                                                        
    computer_winnings += 1                                                  
elif yes_or_no == "n":                                                      
    user_winnings += 1                                                      
counter += 1                                                                
if counter > 10:                                                            
    break     

但是,如果用户输入 y/n 以外的任何内容,主 counter 也会更新。只有输入 yn 时,计数器才会更新。

假设我们从 0 迭代到 9

i = 0
while(i < 10):
    #Ask for user input
    foo = input()
    #if foo value != yes_or_no value increment i
    if foo != yes_or_no:
        i+=1

yn

的测试中包含计数器增量
if yes_or_no in ('y', 'n'):
    counter += 1
    if yes_or_no == 'y':
        computer_winnings += 1
    else:
        user_winnings += 1

你需要适当地缩进代码以落入你希望它在的任何语句中。你是如何写的 if/else 是 1 个独立的集合,计数器也是一个独立的集合,并且 if反国家也是独立的。所以你同时有3个独立的语句运行。

对于 if 语句,您的代码将只处理一次且仅一次,因此使用 while 循环最好连续循环,直到遇到转义语句。