【发布时间】:2018-07-04 17:59:00
【问题描述】:
我正在学习 Python,我想做一个简单的是/否问题。
我在网上偶然发现了这段代码:
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 开头的单词?我真的很想知道! :)
【问题讨论】:
-
你指的是哪一行?
-
some_string[0]为您提供字符串的第一个字符。 -
你想把'yes'、'yeah'等当作'y'吗?如果是这样,您应该只查看输入的第一个字母(即
qr[0])。