我正在学习Python,我想做一个简单的yes/no问题。你知道吗
我在网上偶然发现了这个代码:
qr = input('Do you love cute owls?')
while True:
if qr == '' or not qr[0].lower() in ['y','n']: # This line in question
print('Please answer with yes or no!')
else:
break
if qr[0].lower() == 'y': #Do something
if qr[0].lower() == 'n': #Do something else
这使得代码能够检测任何以y或n开头的单词,因此看起来更“聪明”。你知道吗
我真的很想知道这段代码和仅仅写:
qr = input('Do you love cute owls?')
while True:
if qr == '' or not qr.lower() in ['y','n']: # Difference
print('Please answer with yes or no!')
else:
break
if qr.lower() == 'y': #Do something
if qr.lower() == 'n': #Do something else
为什么第二个代码不起作用?这个[0]
的目的是什么?没有它,代码为什么不能检测到以y
或n
开头的单词?我真的很想知道!:)
(1)参考这一行:
if qr == '' or not qr[0].lower() in ['y','n']:
qr
上的[0]
仅指输入qr
的第一个字符。你知道吗(2)这两段代码的区别在同一段代码上,第一段代码是
if qr == '' or not qr[0].lower() in ['y','n']:
if qr == '' or not qr.lower() in ['y','n']:
第二个影响
qr
的整个字符串,并保留所有字符,如果输入的字符串长度超过一个字符,则会产生影响。你知道吗相关问题 更多 >
编程相关推荐