【发布时间】:2020-11-29 03:58:44
【问题描述】:
对你们来说可能听起来太简单了,所以我很抱歉浪费了你们的时间,但这让我可怜的大脑崩溃了。所以不管它的价值,这里是:
第一个任务没问题: 如果字符串有“i”或“u”,则打印“there is an i or a u”。
string = "demo loops for you"
for char in string:
if char == 'i' or char == 'u':
print("There is an i or a u")
第二个是令人心碎的,尤其是在第一个条件下:
如果字符串既有“i”又有“u”,则打印“同时存在i和u”,因此如果只有“i”但没有“u”,则打印“只有i”,如果只有“u”但没有“i”,然后打印“只有你”
第一个条件的这个块不起作用。它仍然会打印(即使只有一个字符->“i”):
string = "i can demo loops"
for char in string:
if char == 'i' and 'u':
print("There is both an i or u")
启发我哦,聪明的人! :'(
【问题讨论】:
-
*same character" 不能同时是
i和u。(另外,char ==i` 和u不会将该字符与u进行比较)跨度> -
谢谢你,@rici。感谢您的回复。我想我得到了你评论的第一部分。但是第二部分,我没有意识到
if char == 'i' and 'u'实际上是在与u进行比较。伙计,我真的有很多通宵达旦。 -
if char == 'i' and 'u'被解析为if (char == 'i') and 'u'。根据 Python 对真实性的定义,'u'是true。此外,对于b的任一布尔值,b and true与b相同。所以你只是在测试char == 'i'.
标签: python string boolean operators