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
也会更新。只有输入 y
或 n
时,计数器才会更新。
假设我们从 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
在 y
或 n
的测试中包含计数器增量
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 循环最好连续循环,直到遇到转义语句。
我想知道一种简单的方法,当输入 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
也会更新。只有输入 y
或 n
时,计数器才会更新。
假设我们从 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
在 y
或 n
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 循环最好连续循环,直到遇到转义语句。