Python--3 判断和循环语句

判断语句和循环语句

1.1 判断语句介绍

1、生活中的判断场景

网咖

 

 

2、开发中的判断场景

密码判断

 

 

重要日期判断

 

 

1.2 if语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

 

Python程序语言指定任何非0和非空(null)值为true0 或者 nullfalse

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)
View Code

 

示例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("严重肥胖")
View Code

 

[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("输了,不要走,洗洗手决战到天亮")
View Code

 

[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("密码或者用户名错误")
View Code

 

1.3 循环语句

1.生活中的循环场景

跑道

 

风扇

 

 

2.软件开发中的循环使用场景

跟媳妇承认错误,说一万遍“媳妇,我错了”

print("媳妇儿,我错了")

print("媳妇儿,我错了")

...(还有99998)...

 

使用循环语句,一句就可以搞定

I =0

while I<10000:

print("媳妇儿,我错了")

I+=1

  Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型

描述

while 循环

在给定的判断条件为 true 时执行循环体,否则退出循环体。

for 循环

重复执行语句

嵌套循环

你可以在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
View Code

  示例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
View Code

   示例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)
View Code

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
View Code

示例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!")
View Code

示例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
View Code

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)
View Code

  示例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()
View Code

 

 

 

1.6 breakcontiune

Python continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在whilefor循环中。

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)
View Code

 

[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)
View Code

 

[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文钱?

posted on 2017-09-24 23:10  sxkl  阅读(1484)  评论(0编辑  收藏  举报