Python 全栈开发三 python基础 条件与循环

一. 条件语句

python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行。

而执行内容可以多行,以缩进来区分表示同一范围。

1.Python判断条件真假的形式:

真 :  True, 非零,非空(即列表非空),非假等等

假:False, 0,空列表,空字典,空集合,非真等等

2.常见的判断条件:

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

条件语句的基本形式:

 1 if 判断语句:
 2    语句块1
 3 elif 判断语句:
 4    语句块2
 5 elif 判断语句:
 6    语句块3
 7 else 8    语句块4
 9 
10 #注意可以有多个elif 语句,不能有多个else语句

 

条件语句的执行顺序:由上而下执行,判断语句,符合条件后,执行对应的语句块,执行完毕后退出条件语句。如下:

 1 _username = 'Wallace Wang'          #定义一变量
 2 _password = '1234'
 3 username = input('username:')        #让用户输入用户名
 4 
 5 import getpass       #python内置的一个模块,会在后文中提到
 6 password = getpass.getpass('passward:') # 在shell中是以密文的形式输入
 7 #password = input('password:')          # 这里也可以不用密文的方式
 8 if _username == username and _password == password:        # 如果if后面的条件成立
 9     print('Welcome user {name} login...'.format(name=username))  #执行if后面缩进的代码
10 else:   #如果不成立,执行else后面的代码
11     print('Invald username or password!')

 

二.while循环语句:

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执语句块程序,执行完后再次判断该条件是否符合,若符合则继续执行语句块程序,直到遇到中断条件,或条件不符合则跳出循环语句。如下图是常见的执行顺序:

Python 全栈开发三 python基础 条件与循环

接下来给一个网上找的一个动态实例,来演示while循环:

Python 全栈开发三 python基础 条件与循环

接下来以代码的形式解释该操作:

 1 >>numbers = [12,37,5,42,8,3]  
 2 >>even = []
 3 >>odd = []                  #创建一个长度为6的列表和俩个空列表
 4 >>while len(numbers)>0:     #当numbers列表的长度大于0时,条件成立,执行后面语句
 5 
 6     number = numbers.pop()  #弹出numbers 的最末尾元素,并且赋值给number
 7     if (number % 2 == 0):   #判断是否可以被2整除
 8         even.append(number) #可以执行
 9     else:
10         odd.append(number)  #不可以执行
11 
12 #执行完if语句返回判断numbers的长度,直到条件不成立退出
13 
14 >>numbers      #最后3个列表的值分别为
15 []
16 >>even
17 [8,42,12]
18 >>odd
19 [3,5,37]

 

前文所讲,退出循环的方式除了语句不满足还有两个方式分别为break和continue:

break:直接退出循环。

continue:跳过当前循环,进入下次循环。

# continue 和 break 用法
 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
 
j = 1
while 1:            # 循环条件为1必定成立
    print j         # 输出1~10
    j += 1
    if j > 10:     # 当i大于10时跳出循环
        break

 

永久循环:

1 while True:
2     a = int(input("请输入年龄:")
3     if a > 18:
4         print("已经成年")
5     else:
6         print("未成年")
7 
8 #一般来说永久循环会结合用户输入

 

循环中else语句的使用:

在循环中,当while的条件语句不满足时,就会执行else后面的语句,但是由break退出的循环不会执行else语句,因为break是退出整个循环,如下所示:

 1 # continue 和 break 用法
 2  
 3 i = 1
 4 while i < 10:   
 5     i += 1
 6     if i%2 > 0:     # 非双数时跳过输出
 7         continue
 8     print (i)         # 输出双数2、4、6、8、10
 9 else10     print("退出循环")   #输出双数后会输出”退出循环“
11 j = 1
12 while 1:            # 循环条件为1必定成立
13     print (j)        # 输出1~10
14     j += 1
15     if j > 10:     # 当i大于10时跳出循环
16         break
17 else18     print("退出循环")   #不会输出这一语句,因为是break退出的

 

死循环,即无法退出的循环,对电脑的伤害大:

1 while Ture:
2     print("死循环")  #执行该语句会无限打印

 

如果遇到死循环可以用 Ctrl+c退出循环。

三.for循环:

Python的for循环,一般用于遍历任何序列的项目,如一个列表或者一个字符串等。for循环的作用域是全局的,去最后一个值。

1 for <variable> in <sequence>:    #variable:变量  sequence:可迭代对象如list,tuple,str等
2     <statements>                 #statements:语句块
3 else:
4     <statements>                 #这就是常见的for循环语句
5 
6 
7 #这里的else一般是指for上面的执行条件不成立即,退出后执行,break退出的不执行

 

下面举一常见的例子来分析for循环:

 1 for n in range(2, 10):     #range会生成2-10的列表,但不包括10
 2     for x in range(2, n):
 3         if n % x == 0:
 4             print(n, '等于', x, '*', n//x)
 5             break
 6     else:
 7         # 循环中没有找到元素
 8         print(n, ' 是质数') 
 9 
10 #这是一个嵌套循环,用于寻找2-10的质数
11 >>
12 2  是质数
13 3  是质数
14 4 等于 2 * 2
15 5  是质数
16 6 等于 2 * 3
17 7  是质数
18 8 等于 2 * 4
19 9 等于 3 * 3
20