我是编码新手,几天来我一直在尝试解决这个问题。我已经尝试了许多资源(包括此处的帖子),但没有针对我的特定问题的任何内容。
我正在尝试使用在 for 循环中缩进的 while True 语句。for 循环从列表中随机选择 20 个男孩名字并打印到终端。我有一个用户输入要求输入“y”或“n”,并且因为用户输入始终是真实的,所以我无法确保用户输入的无效响应被识别为不真实(FALSEY)。因此,很难让用户在输入有效输入之前一直显示相同的名称。我尝试使用 not 方法将用户输入更改为 false,但这仍然使 for 循环中断。尽管我可能一直在编码错误。下面是代码片段,如果有人能建议我如何让 while true 工作(我认为它需要在 boy_answer = input("y/n: ") 行之后进行),将不胜感激。
def boys():
global boys_answer
global new_boy_list
print(f"{user1}, are you ready, your names are coming...")
for name in range(20):
name = (random.choice(boy_names))
boy_names.remove(name)
print(name)
new_boy_list.append(name)
boys_answer = input("y/n: ")
if boys_answer == 'y':
boy_list_1.append(name)
user2_boy_start()
return new_boy_list, boy_list_1,
例如,下面是我尝试过的一种方法,但这只是在名字出现后停止将名字打印到终端。有人可以帮忙回答这个问题吗,这样如果用户输入除“y”或“n”之外的任何内容,它就不会让他们继续。
def boys():
global boys_answer
global new_boy_list
print(f"{user1}, are you ready, your names are coming...")
for name in range(20):
name = (random.choice(boy_names))
boy_names.remove(name)
print(name)
new_boy_list.append(name)
while True:
try:
boys_answer = input("y/n: ")
boys_answer == 'y'
boy_list_1.append(name)
boys_answer = not boys_answer
except ValueError:
print("Sorry, bad input")
continue
user2_boy_start()
return new_boy_list, boy_list_1,