python-条件与循环

165 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情


if语句

如果表达式的值非0或者为布尔值True, 则执行 do_something, 否则执行下一跳语句.

注意:判断语句后面要加:

if expression:
    do_something1
    do_something2
next_something
  • Python也支持else语句

    if expression:
        do_something1
    else:
        do_something2
    
  • Python里还有神奇的的elif(意思是else-if)

    if expression:
        do_something1
    elif expression2:
        do_something2
    else:
        do_something3
    
  • Python并不支持switch/case这样的语句. 也没有必要支持. 实际上 switch/case 语法并不优雅.

while语句

while循环语句和if语句语法类似. 只要表达式的值非0或者为True, 就会循环执行do_something

注意:判断语句后面要加:

while expection:
    do_something

例子:循环三次打印

count = 0
while count < 3:
    print('loop %d' %count)
    count+=1    #不可以用count++
#执行结果
loop 0
loop 1
loop 2

for循环

Python中的for循环和传统的for循环不太一样.

注意:判断语句后面要加:

  • for循环接收可迭代对象(序列或者迭代器)作为参数, 每次迭代其中的一个元素.
#遍历打印字符串的每个字符
a = 'hehe'
for c in a:
    print(c)
#执行结果
h
e
h
e
​
#遍历列表的每个元素
a =[1,2,3,4]
for item in a:
    print(item)
#执行结果
1
2
3
4
​
​
#遍历字典中的所有key-value
a = {'ip':"198.168.1.1",'tel':'12345'}
for key in a:
    print(a[key])   #打印键对应的值
    print(key,a[key]) #打印键和值
#执行结果
198.168.1.1
ip 198.168.1.1
12345
tel 12345

关于内建函数:range函数

  • 内建函数range能够生成一个数字组成的列表, 方便进行for循环遍历.

    • 区间:左闭右开,生成一个区间范围
    for i in range(0,3):
        print('loop %d' %i)
    #执行结果
    loop 0
    loop 1
    loop 2
    
  • range函数其实有三个参数.

    • 前两个参数分别表示了一个前闭后开的区间.
    • 第三个参数表示step, 每次迭代的步长

    如果只写一个参数:如 range(4) 相当于: range(0,4)

    例子:遍历[0,10)区间的偶数

    for i in range(0,100,2):
        print(i)
    #执行结果:
    0
    2
    4
    6
    8
    

break和continue

使用break语句跳出当前循环

例子

#查找[0,100)第一个3的倍数
for i in range(0,100):
    if i %3 ==0:
        break

使用continue语句, 回到循环顶端, 判定循环条件,循环条件满足, 则执行下一次循环

#打印[0,10)所有3的倍数
for i in range(0,10):
    if i %3 != 0:
        continue
    print(i)
    
#执行结果
0
3
6
9

pass语句 ->空语句

有时候需要用到 空语句 这样的概念, 什么都不做. 由于没有 {} , 需要有一个专门的语句来占位, 要不缩进就混乱了

if x%2 ==0:
    pass
else:
    do_something