Python-if、while的变形

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]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值