Skip to content

Latest commit

 

History

History
242 lines (175 loc) · 4.4 KB

File metadata and controls

242 lines (175 loc) · 4.4 KB

第8节 python分支循环

❤️💕💕python是一种动态的解释形语言,由于python的普遍性,学会python能更快的解决问题,以及学习其他的知识。Myblog:http:https://nsddd.top


[TOC]

if 结构

python 中的分支语句的部分靠缩进来确定该语句是否属于该分支,同时 if 或 else 后有一个冒号。 注意: python 中 elif 即 else if ,如果写 else if 会出现错误。

#第一种结构
if(1>0):
    print("属于该分支")
    print("还属于该分支")
print("不属于if分支")

#第2种结构
if(1<0):
    print("结构2")
else:
    print("结构2")
    
#结构三
if(1<0):
    print("结构三")
elif(3>2):
    print("结构三")
else:
    print("当上面的条件均不成立执行该语句")

结果: 属于该分支 还属于该分支 不属于if分支 结构2 结构三

if 语句写成表达式:

In [58]: a = 11

In [59]: b = 22

In [60]: c = a if(a>b) else b

In [61]: c
Out[61]: 22

In [62]: c = a if(a<b) else b

if 语句的嵌套

a=1
b=2
c=3
if(a==1):
    if(b==2):
        if(c==3):
            print("嵌套")

循环

💡 注意:python 中是没有 ++ 和–运算符的

可以类比Go语言:

  • Go语言没有三元运算符

  • Go语言只有i++ ,不可以写成++i

  • python可以写成 ++a赋值

    In [73]: a
    Out[73]: 11
    
    In [74]: ++a
    Out[74]: 11
    
    In [75]: a = ++a
    
    In [76]: a
    Out[76]: 11

在Java中:

jshell> var i = 1
i ==> 1

jshell> i ++
$2 ==> 1

jshell> ++ i
$3 ==> 3

jshell> i
i ==> 3

while循环

#while循环
i=1
while(i<3):
    print("while循环")
    i+=1

break 和 continue break 是跳出当前的循环结构,continue 是跳过本次循环,执行下一次循环,两者还是有较大差别的。

i=1
while(i<5):
    if(i==3):
        break
    print("while循环 ",i)
    
    i+=1
i=1
while(i<5):
    if(i==3):
        i+=1
        continue
    print("while循环 ",i)
    
    i+=1

运行结果: while循环 1 while循环 2 while循环 1 while循环 2 while循环 4

while 与 else 在 python 中,else 还可以和 while 配合使用,当循环条件为假时执行 else 语句内的内容,所以,如果是 break 跳出的循环,由于循环条件还可能为真,那就可能不执行 else 语句的内容。 示例:

i=1
while(i<5):
    if(i==3):
        break
    print("while循环 ",i)
    i+=1
else:
    print("循环条件为假")

#结果:

while循环 1 while循环 2

从结果我们可以看到,由于跳出循环时循环条件还为真,并没有执行 else 语句

while 循环的嵌套

循环的嵌套即一层循环中还有一层循环,这里就不赘述了,写代码时注意变量之间的关系即可 break 语句只会跳出它所在的那层循环体。

for 循环

格式:for 变量 in 可迭代对象 例子:

for a in "abcde" :
    print(a)

#结果: a b c d e

如果想实现 C 语言中的 for(int i=0;i<10;i++) 这一语句,那我们则要使用 range 函数帮我们生成一个可迭代的数字序列

一般有三种情况:

  1. range(x) 即从 0 到 x,不包含 x,每次加一

  2. range(start,stop,step) 表示从 start 开始,间隔为 step,结束于 stop,若没有 step 则默认加一 类似于 for(int i=start,i<stop;i+=step)

    In [8]: for a in range(5):  #01234
       ...:     print(a)
       ...: for b in range(5,1,-2):  #531
       ...:     print(b)
       ...: for c in range(1,5):	#1234
       ...:     print(c)
       ...:

END 链接