if、while的有趣变形。
正常情况下,我们使用if语句时遵循的格式是:
x=input()
if x<1:
print('比1小')
else:
print('比1大')
但是这样显得代码比较长,有多层嵌套时也会显得臃肿。(最重要的是能少敲代码)
x=input()
print('比1小') if x<1 else print('比1大')
这样是不是就显得比较简洁了呢。不过这样敲可读性会比常规的格式稍差,要是选择这种方式的话要确保自己能理清逻辑。
而while语句我们通常会使用它来做一个无限循环,直到满足条件的时候再跳出循环。
一般我们会这样写来创建无限循环:
while True:
pass
然后我们也可以稍加改动,这样写:
while 1:
pass
毕竟在Python中1==True不是吗?( • ̀ω•́ )✧
复杂一些的while循环语句也可以变形。
比如我们查看一个列表中所有的元素首字母是否是Lillian时,当然,我们通常用for循环来处理,这样也比较简单:
startswith()方法可以指出一个字符串是否以某个或者某几个字符开头,返回True或False。
lis1=['my','name','is','lillian']
for i in lis1:
if i.startswith('lillian')==True:
print('找到了')
一定要用while呢,一般会这样写:
num=len(lis1)
while num>-1:
if lis1[num-1].startswith('lillian')==True:
print('找到了')
break
else:
num=num-1
嗯,相当绕。
我们可以变形while
i=0
while not lis1[i].startswith('lillian'):
i=i+1
这样i等于查找值当前的索引位置。
代码是不是又简洁许多。同样,变形都要确保自己的逻辑理的清,毕竟可读性是很重要的。
如果我还看到其他的变形方式,我会补充在这里。( ̄▽ ̄)/让我们快乐的学习Python吧。
附:
简单创建python列表
lst=list(range(10))
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]