本文实例讲述了python分支语句与循环语句应用。分享给大家供大家参考,具体如下:
一、分支语句
1、if else语句
语法:
if 条件判断:
执行的语句块1
else :
执行语句块2
当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2
注意:1、条件判断后面要加冒号”:“;
2、执行语句块需要缩进【4个空格】。
else 与 if对齐,else后面要加”:”,语句块缩进4个空格
1
2
3
4
5
6
7
8
9
10
11
|
''' 从控制台输入年龄,如果年龄小于18岁,打印”未成年人禁止进入“ 大于18岁,打印”欢迎光临“ ''' age = input ( "请输入您的年龄:" ) age = int (age) if age < 18 : print ( "未成年人禁止进入" ) print ( "等你满18岁就可以来了" ) else : print ( "欢迎光临" ) |
输出:
请输入您的年龄:18
欢迎光临
1
2
3
4
5
6
7
8
9
10
11
12
|
''' 从控制台输入两个数,输出较大的值,不能使用max函数 ''' num1 = int ( input ( "请输入number1:" )) num2 = int ( input ( "请输入number2:" )) if num1 > num2 : print ( "较大的数为number1:" ,num1) elif num1 = = num2 : print ( "number1 %d与 number2 %d相等" % (num1,num2)) else : print ( "较大的数为number2:" ,num2) |
输出:
请输入number1:12
请输入number2:13
较大的数为number2: 13
需要多重判断的时候,我们则可以使用以下的方式来解决
if 条件判断1:
语句1
elif 条件判断2:
语句2
...
elif 条件判断n:
语句n
else:
语句
注意:elif是else if的缩写,可以有多个elif。
所以,根据上面的需求,我们的代码则可以这样写
1
2
3
4
5
6
7
8
9
10
11
12
|
''' 如果年龄小于等于18,打印少年,年龄大于18且小于等于25,则打印青年,大于25小于等于40,打印壮年,大于40,打印您更年期到了。。。 ''' age = 34 if age < = 18 : print ( "少年" ) elif age < = 25 : print ( "青年" ) elif age < = 40 : print ( "壮年" ) else : print ( "您的更年期到啦" ) |
if语句有个特点,它是从上往下判断,如果在某个判断上是true,把该判断的语句对应执行后,就忽略掉其他的elif和else。
if判断语句还可以简写:
if x:
print("true")
只要x是非零数值,非空字符串,非空list,就判断为true,否则为false
2、嵌套的if语句
需求:现输入一个数,判断他是否为大于10的偶数
如果要解决上述的需求,可能我们需要两个判断语句,第一个判断输入的数是否大于10,第二个判断是在第一个的基础上来判定这个数是否为偶数。
简单的说,就是在if语句中再嵌套一个if语句,效果如下:
语法:
if 表达式1:
语句1
if 表达式2:
语句2
1
2
3
4
|
num = 20 if num > 10 : if num % 2 = = 0 : print (num) |
注意:从语法的角度上说,嵌套的层数没有限制,但是,从代码的可读性和可维护性来说,最好的嵌套的层数不要超过三层。
3、if 的神奇用法(三目运算)
伪三目运算
result1 if 判断条件 else result2
若条件成立则输出结果result1,否则输出结果result2
1
2
3
4
|
>>> x = 10 >>> y = 20 >>> x if x > y else y 20 |
二、循环语句之while
1、while循环的语法:
while 判断语句:
执行代码块
当判断语句成立的时候,执行下面的代码块【判断语句的结果为true,即不等于0,0.0,false,none的情况下执行代码块】。
1
2
3
4
5
6
7
8
9
10
|
... 计算 1 + 2 + 3 + ... + 1000 ... n = 1 sum = 0 while n < = 100 : sum = sum + n n = n + 1 print ( "sum = %d" % sum ) print ( "n = %d" % n) |
输出:
sum = 5050
n = 101
1
2
3
4
5
6
7
8
9
10
11
12
|
''' 从[100,1000)的水仙花数 ''' n = 100 print ( "水仙花数" ) while n < 1000 : bai = n / / 100 shi = n / / 10 % 10 ge = n % 10 if n = = pow (bai, 3 ) + pow (shi, 3 ) + pow (ge, 3 ): print ( "%d" % n) n + = 1 |
输出:
水仙花数
153
370
371
407
2、while 之死循环
死循环出现的契机:当表达式永远为真的时候,会出现死循环。
1
2
|
while 1 : print ( "i am very good !" ) |
3、while else
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
''' while else 的语法 while 条件判断: 循环语句块 else: 语句块 当条件判断的结果为true的情况下,执行循环语句块 直到条件判断的结果为false的时候跳出循环,并且执行else语句,如果是通过break跳出循环则不执行else语句 ''' n = 100 print ( "水仙花数" ) while n < 1000 : bai = n / / 100 shi = n / / 10 % 10 ge = n % 10 if n = = pow (bai, 3 ) + pow (shi, 3 ) + pow (ge, 3 ): print ( "%d" % n) n + = 1 else : print ( "循环已结束" ) |
输出:
水仙花数
153
370
371
407
循环已结束
4、while之简单的语句组
如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行。
语法:
while 条件: 语句
1
|
while true: print ( "you are a good man" ) |
三、结束循环语句
1.break语句的使用
在循环中,使用break语句可以提前退出循环。
例如:本来循环打印1~100的数字,但是,现在我要提前结束,当数字大于10的时候,打印循环结束。
1
2
3
4
5
6
7
8
|
n = 1 while n < = 100 : if n > 10 : #当n = 11时,条件满足,执行break语句 break print (n) n + = 1 print ( "循环结束" ) |
2.continue语句的使用
在循环的过程中,可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
1
2
3
4
|
n = 0 while n < 10 : n + = 1 print (n) |
通过上面的程序可以打印出1~10,但是,如果我们只想打印奇数,可以使用continue语句跳过某些循环。
思考三:打印1~100以内的奇数
1
2
3
4
5
|
num = 1 while num < = 100 : if num % 2 = = 0 : continue print (n) |
3. pass语句的使用
pass 语句是空语句,是为了保持程序结构的完整性
pass 不做任何事情,一般用做占位语句
1
2
3
4
|
if true: pass else : print ( "hello" ) |
四、循环语句之for
1、for循环
python 的循环有两种,一种是我们之前讲的while循环,另外一种就是for…in循环,依次把list或者tuple中的元素或者字符串迭代出来。
1
2
3
|
name = [ 'lili' , 'bob' , 'tracy' ] for name in names: print (name) |
执行这段代码,会依次打印names的每一个元素
lili
bob
tracy
所以 for x in …
循环就是把每个元素带入变量x,然后执行缩进块语句。
计算1~10的整数之和,可以用一个sum变量做累加:
1
2
3
4
|
sum = 0 for x in [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]: sum = sum + x print ( sum ) |
如果要计算1~100的整数之和,从1到100有点困难,在python中提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list,比如range(5)生成的序列是从0开始小于5的整数。
1
2
3
4
|
sum = 0 for x in range ( 100 ): sum + = x print ( sum ) |
2、for 循环使用else语句
与while…else类似,else也会在循环正常执行完的情况下执行
1
2
3
4
|
for i in range ( 10 ): print (i) else : print ( "********" ) |
3、range函数
range函数可创建一个可迭代对象,一般用在for循环中
函数语法:
1
|
range ([start,] stop[, step]) |
参数说明:
python
1.start:计数从start开始,默认从0开始,例如:range(5)等价于range(0, 5)
2.stop:计数到stop结束,但不包括stop。例如:range(0,5)的取值为[0,5)
3.step:步长,默认为1,例如range(0,5) 等价于range(0, 5, 1)
函数返回一个可迭代对象,从这个可迭代对象中可以获取一个整数列表。
1
2
3
|
#使用list函数,可以从可迭代对象中获取整数列表 >>> list ( range ( 5 )) [ 0 , 1 , 2 , 3 , 4 ] |
五、嵌套循环
我们可以在循环体中嵌套循环。
需求:打印九九乘法表
1
2
3
4
|
for i in range ( 1 , 10 ): for j in range ( 1 ,i + 1 ): print ( "%d*%d=%d" % (j,i,j * i),end = '\t' ) print () |
输出:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/lm_is_dc/article/details/80077382