python - 我的 if 语句不能正常工作?无法进入 elif 语句 - python
问题描述
switch = True
players = []
while True:
user_adding = input("Would you like to add? yes or no ")
user_adding = user_adding.title()
if user_adding.lower() == "yes":
player_name = input("who do you want on the list? ")
players.append(player_name)
number_of_players = len(players)
elif user_adding.lower() == "no":
player_1 = players[0]
print(player_1)
print(f"There are {number_of_players}")
switch = False
无法到达此处的 elif 语句,我不知道为什么......它可能是什么......
解决方案
您必须输入“否”才能到达elif
,但您需要先完成,yes
否则代码将在以下位置引发异常players[0]
:
Would you like to add? yes or no yes
who do you want on the list? Bob
Would you like to add? yes or no no
Bob
There are 1
这段代码的一些注意事项:该switch
值从未使用过,如果您稍后再使用它,也没有title()
理由user_adding
说明lower()
。
这是一个稍微简单的版本,它会在你说“不”后打破循环,并且在输入 0 个玩家时不会崩溃:
players = []
while True:
user_adding = input("Would you like to add? yes or no ")
if user_adding.lower() == "yes":
player_name = input("who do you want on the list? ")
players.append(player_name)
elif user_adding.lower() == "no":
print(" ".join(players))
print(f"There are {len(players)}")
break
else:
print(f"I don't know what '{user_adding}' means!")
推荐阅读
- python - 有没有办法将值以数组形式插入到表中?
- android - onBackPressed() Internet 不再检测到
- sql - 有没有办法在 PostgresSQL 中使用游标来获取行?
- python-3.x - 如何将多个文件打包成一个以便在手工文件管理器中浏览它们?
- c++ - 布尔值由于某种原因返回 false
- zsh - 如何强制更改 oh-my-zsh 函数?
- intellij-idea - 更改控制台输出中的线条颜色 - IntelliJ
- module - pytest,有什么方法可以包含测试文件或测试文件列表?
- webrtc - Turn server 是防火墙后面的客户端的要求
- c++ - 校验和失败和 16962 的读数一遍又一遍