1 python if-statement python-3.x python-requests
我有 (>) 作为输入
color = ['grey', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white']
nickcolor = input()
>red
nickcolor in color
>True
Run Code Online (Sandbox Code Playgroud)
然后我写
if nickcolor in color == True:
print('You are now logged in ' + nickname + ' !\n Write something in chat!')
else:
print('Error occured. Please restart.')
>Error occured. Please restart.
Run Code Online (Sandbox Code Playgroud)
为什么在 if 语句中它是假的?
这是由于 Python 的运算符链接逻辑:
nickcolor in color == True
Run Code Online (Sandbox Code Playgroud)
实际上被解析为
(nickcolor in color) and (color == True)
Run Code Online (Sandbox Code Playgroud)
color不等于True,所以整个条件是False。
在这种情况下,这是偶然的,但这种逻辑通常用于算术比较,在其中非常方便:
0 < x < 10
Run Code Online (Sandbox Code Playgroud)
代替
0 < x and x < 10
Run Code Online (Sandbox Code Playgroud)
请注意,这里实际上不需要这些,因为nickcolor in color已经是一个条件,您可以这样写if:
if nickcolor in color:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |