判断语句和循环语句
1.1 判断语句介绍
1、生活中的判断场景
网咖

2、开发中的判断场景
密码判断

重要日期判断

1.2 if语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值是,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
和其他语言一样,if也可以嵌套

if expression1:
statement(s)
if expression2:
statement(s)
elif expression3:
statement(s)
else
statement(s)
elif expression4:
statement(s)
else:
statement(s)
示例1:
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
代码:

1 #!/usr/bin/env python
2
3 #定义变量
4
5 height = 1.75
6
7 weight = 80.5
8
9 bmi = weight/height**2
10
11
12
13 #打印变量
14
15 print("bmi is %f"%bmi)
16
17
18
19 #条件判断
20
21 if bmi<18.5:
22
23 print("过轻")
24
25 elif bmi<25:
26
27 print("正常")
28
29 elif bmi<28:
30
31 print("过重")
32
33 elif bmi<32:
34
35 print("肥胖")
36
37 else:
38
39 print("严重肥胖")
[root@localhost 02-day]# python 2-1.py
bmi is 26.285714
过重
示例2:编写一个石头剪刀布小游戏

1 #!/usr/bin/env python
2
3 import random,os
4
5
6
7 # 0石头 1剪刀 2布
8
9 #1.定义变量:player 玩家,computer 电脑
10
11 #电脑产生0-2以内随机数,玩家由用户通过键盘输入
12
13
14
15 computer = random.randint(0,2)
16
17 player = int(input("请输入【0石头 1剪刀 2布】:"))
18
19
20
21 #判断玩家输入是否合法
22
23 if player<0 or player>2:
24
25 print("输入非法...")
26
27 os._exit(0)
28
29
30
31 #2.判断输赢
32
33 if (player==0 and computer==1) or (player==1 and computer==2) or (player==2 and compter==0):
34
35 print("赢了,恭喜你!")
36
37 elif player == computer:
38
39 print("平局,要不要再来一局")
40
41 else:
42
43 print("输了,不要走,洗洗手决战到天亮")
[root@localhost 02-day]# python 2-2.py
请输入【0石头 1剪刀 2布】:0
输了,不要走,洗洗手决战到天亮
[root@localhost 02-day]# python 2-2.py
请输入【0石头 1剪刀 2布】:0
赢了,恭喜你!
[root@localhost 02-day]# python 2-2.py
请输入【0石头 1剪刀 2布】:0
输了,不要走,洗洗手决战到天亮
[root@localhost 02-day]# python 2-2.py
请输入【0石头 1剪刀 2布】:8
输入非法...
示例3:使用if语句,编写程序,实现如下功能:
1)从键盘获取用户名、密码
2)如果用户名和密码都正确(预先设定一个用户名和密码),那么就显示“欢迎进入xxx的世界”,否则提示密码或者用户名错误
代码:

1 import getpass
2
3 _user = 'tom'
4 _pwd = '123'
5 user = input('input username: ')
6 pwd = getpass.getpass('input password: ')
7
8 if user == _user and pwd == _pwd:
9 print("欢迎进入%s的世界" % user)
10 else:
11 print("密码或者用户名错误")
1.3 循环语句
1.生活中的循环场景
跑道

风扇

2.软件开发中的循环使用场景
跟媳妇承认错误,说一万遍“媳妇,我错了”
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有99998遍)...
使用循环语句,一句就可以搞定
I =0
while I<10000:
print("媳妇儿,我错了")
I+=1
Python提供了for循环和while循环(在Python中没有do..while循环):
|
循环类型 |
描述 |
|
在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
|
|
重复执行语句 |
|
|
你可以在while循环体中嵌套for循环 |
1.4 While循环语句
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
|
while 判断条件: 执行语句…… |
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
执行流程图如下:

示例1:用while循环实现计算100以内所有奇数之和。
代码:

1 #!/usr/bin/env python
2
3
4
5 #计算100以内的奇数和
6
7
8
9 i=1
10
11 sum=0
12
13
14
15 while i<100:
16
17 if i%2 != 0:
18
19 sum+=i
20
21 i+=1
22
23
24
25 print("1+3+...+99=%d"%sum)
26
27
28
29 [root@localhost 02-day]# python 2-3.py
30
31 1+3+...+99=2500
示例2:打印100以内的偶数

1 #!/usr/bin/env python 2 3 #打印100以内的偶数 4 5 i=1 6 7 while i<=50: 8 print(i*2) 9 i+=1
示例3:计算1-2+3-4+5-6...+99

1 i = 1
2 s = 0
3 while i <= 99:
4 if i % 2 != 0:
5 s += i
6 else:
7 s -= i
8 i += 1
9 print('1-2+3-4...+99=%d'%s)
Python编程语言的一个嵌套while循环语句的语法,如下所示:
while expression:
while expression:
statement(s)
statement(s)
在循环嵌套最后需要说明的是,可以把任何类型的循环的任何其他类型的循环里面。例如,for循环内可以放置while循环,反之亦然。
示例1:打印如下图形
*
**
***
****
*****

1 #!/usr/bin/env python
2
3 i=1
4
5 while i<5:
6 j=1
7 while j<=i:
8 print("*",end="")
9 j+=1
10 print("\n")
11 i+=1
示例2:使用一个嵌套的循环,从2到100中找出所有的素数:

1 #!/usr/bin/env python
2
3 i = 2
4 while(i < 100):
5 j = 2
6 while(j <= (i/j)):
7 if not(i%j): break
8 j = j + 1
9 if (j > i/j) : print(i, " is prime")
10 i = i + 1
11
12 print("Good bye!")
示例3:打印九九乘法表

#!/usr/bin/env python
i=1
while i<=9:
j=1
while j<=i:
print("%d*%d=%-2d "%(j,i,i*j),end='')
j+=1
print("\n")
i+=1
[root@localhost 02-day]# python 2-7.py
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
1.5 for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:
for iterating_var in sequence:
statements(s)
流程图:

示例1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
分析:程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列

1 sum = 0 2 for i in range(1,5): 3 for j in range(1,5): 4 for k in range(1,5): 5 if i!=j and i!=k and j!=k: 6 print(i*100+j*10+k) 7 sum+=1 8 print(sum)
示例2:打印九九乘法表

1 for i in range(1,10):
2 for j in range(1,i+1):
3 print('%d*%d=%2d' %(i,j,i*j),end=' ')
4 print()
1.6 break和contiune
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
Python 语言 continue 语句语法格式如下:
continue
流程图:

示例:

1 #!/usr/bin/env python 2 3 4 for x in range(1,10): 5 if x%2==0: 6 continue 7 print(x)
[root@localhost 02-day]# python 2-9.py
1
3
5
7
9

1 #!/usr/bin/env python 2 3 for x in range(1,10): 4 if x==5: 5 break 6 print(x)
[root@localhost 02-day]# python 2-10.py
1
2
3
4
循环使用else语句
Python支持与循环语句相关联的else语句。
如果else语句与for循环使用,执行else语句时,循环已经迭代完成列表。
如果在else语句使用while循环,当条件为假时,else语句被执行
pass语句
作用:Python pass是空语句,是为了保持程序结构的完整性;pass不做任何事情,一般用占位语句。
作业:
1、用户登陆(三次机会重试)
2、百钱买百鸡:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
来源:https://www.cnblogs.com/kongd/p/7589245.html
