一、 if

1、 单独的if结构:



if 条件:
    满足条件后要执行的代码



2 、 双分支结构:二必选一



if 条件:
    满足条件执行代码
else:
    上面的条件不满足就走这段



3 、 多分支



if 条件:
    满足条件执行代码
  elif 条件:
    上面的条件不满足就走这个
  elif 条件:
    上面的条件不满足就走这个
  elif 条件:
    上面的条件不满足就走这个 
  else:
    上面所有的条件不满足就走这段



4 、 嵌套:



1 username = input('请输入用户名:')
 2 password = input('请输入密码:')
 3 
 4 if username == '王大锤' :
 5     if password == '123':
 6         print('成功登陆')
 7     else:
 8         print('密码错误')
 9 else:
10     print('用户名错误')



 

二 、 while

1、基本循环

 



while  循环条件: 
    循环体
    如果条件为真,那么循环体则执行
    如果条件为假,那么循环体不执行



 

2、循环终止语句



    break: 用于完全结束一个循环,跳出循环体执行循环后面的语句

    continue: 只是终止本次循环,接着还执行后面的循环,break则完全终止循环

3、与其他结构嵌套:

    while ... else ..     :   当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

无break的例子:



1 count = 0
 2 while count <= 5 :
 3     count += 1
 4     print("Loop",count)
 5 
 6 else:
 7     print("循环正常执行完啦")
 8 print("-----out of while loop ------")
 9 
10 
11 # 输出如下
12 Loop 1
13 Loop 2
14 Loop 3
15 Loop 4
16 Loop 5
17 Loop 6
18 循环正常执行完啦
19 -----out of while loop ------



 

被break的例子:



1 count = 0
 2 while count <= 5 :
 3     count += 1
 4     if count == 3:break
 5     print("Loop",count)
 6 
 7 else:
 8     print("循环正常执行完啦")
 9 print("-----out of while loop ------")
10 
11 # 输出如下
12 
13 Loop 1
14 Loop 2
15 -----out of while loop ------



 



 三 、  for循环

 用户按照顺序循环可迭代对象的内容



1 #字符串的for循环
 2 msg = '小鱼在水里游来游去'
 3 for i in msg:
 4     print(i)
 5 
 6 #列表的for循坏
 7 li = ['11', '22', '33', '44', '55']
 8 for i in li:
 9     print(i)
10 
11 #字典的for循环
12 dic = {'name':'王大锤', 'age':18, 'sex':'男'}
13 for k, v in dic.items():
14     print(k, v)



 

只要循环被break打断,则不执行else程序



li = ['唐僧', '孙悟空', 'k', '沙和尚', '猪八戒']
for i in li:
    if i == 'k':
        break
    print(i)
#  结果只输出
#  唐僧
#  孙悟空




四 、 枚举:enumerate 

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值



1 li = ['唐僧', '孙悟空', '沙和尚', '猪八戒']
2 for i in enumerate(li):
3     print(i)  # 输出结果为四个新的列表
4 
5 for i, name in enumerate(li, 0):  # 起始位置默认是0,可更改
6     print(i, name)  # 输出结果为四行带编号的数据,起始编号为enumerate内的第二个参数



 

 输出结果如下:



1 #第一次输出四个列表
 2 (0, '唐僧')
 3 (1, '孙悟空')
 4 (2, '沙和尚')
 5 (3, '猪八戒')
 6 
 7 
 8 # 第二次输出四行数据
 9 0 唐僧
10 1 孙悟空
11 2 沙和尚
12 3 猪八戒



 

五 、  range:指定范围,生成指定数字



1 for i in range(1, 10):  # 范围为1-10,不包含10
2     print(i)  #  输出结果依次为1 - 9
3 
4 for i in range(1, 10, 2):  # 范围为1-10,不包含10,步长为2
5     print(i)  #  输出结果依次为1,3,5,7,9
6 
7 for i in range(10, 1, -2):  # 范围为10-1,不包含1,步长为-2,即反向
8     print(i)  #  输出结果依次为10,8,6,4,2



 

注意: 反向输出时,必须加-1,才会执行代码

 



1 for i in range(10, 1):  # 反向,未加步长
2     print(i)  #  不会输出内容
3  
4 for i in range(10, 1, -1):  # 反向,加步长-1
5     print(i)   #  输出内容10,9,8,7,6,5,4,3,2