1.while循环

    -while循环作用在不断重复运行某段代码

    -判断条件跟if相似

             if 条件:

                   语句1  #执行一次,无论条件成不成立,都会执行语句2

             语句2

while 条件:
                   语句1  #直到条件不成立,才执行语句2
            语句2

     -whilie 和 if 区别:

         if只执行一次判断,while可以执行多次判断

    -while循环判断的依据

      先判断条件 在根据条件的值 决定是否要执行下面的代码块

      执行完毕 会再次判断while后面的条件 决定是否要执行下面的代码块

     -死循环 (1,非空数据,结果为True的条件)

while True:
      print("123")

输出结果不会停下 一直循环消耗cpu,直到电脑卡死

   -不执行循环 (0,空数据,结果为False的条件)

while False:
    print("123")

不会执行代码

那么如何防止进入死循环呢?有两种方法

1.while后面的条件不为恒定值

 引入变量,让变量递增或递减,直到不满足while的条件

count = 0
while count < 3:
      print("123")
      count += 1   ##改变变量的值,打破条件

输出结果为

python exe程序怎么多次运行_算法

2.while后面的条件不为恒定值

   加入break关键字强制退出循环

while True:
    print("123")
    break

 结果只会执行一次

加入continue 

count = 0
while count < 3:
      print("123")
      count += 1
      continue    #表示终止此次循环,进入下一次循环,所以不会执行下面的语句
      print("456")

输出结果为

python exe程序怎么多次运行_python exe程序怎么多次运行_02

2.for循环

遍历一个变量(数据)   数据通常是str list dict tuple 

 for item in 数据:

                 语句

       item 是一个临时变量,表示遍历时每次从数据中取出来的那个元素  

  1.遍历字符串

for item in "python":
    print(item)

输出结果是

python exe程序怎么多次运行_python exe程序怎么多次运行_03

因为每次print的结果默认是换行,所以我们也可以将数据打横打印出来

for item in "python":
    print(item,end = " ")  #end = "" 代表打印的格式,默认是\n,代表下次打印是换行还是空格

输出结果是

python exe程序怎么多次运行_html5_04

 如果不输出遍历的变量名

for i in "python":
    print("我喜欢conlin")

 输出结果

python exe程序怎么多次运行_python exe程序怎么多次运行_05

就代表遍历了几次,就输出几次下面的语句 

2.遍历列表

dalaos = ["小芳","温暖如初","小蚊子"]
for index,dalao in enumerate(dalaos): #一遍获取索引号,一遍打印值,只有用enumerate才能有多个变量
    print(f"""索引为{index},值为{dalao}""",end="    ")

结果为:

python exe程序怎么多次运行_python exe程序怎么多次运行_06

enumerate() 一边获取索引号,一边获取列表的值,括号里输入列表变量,可以获取的对象是能够用索引的数据类型

enumerate关键字可以让我们引申到另一种用法,把两个列表变为一个键值对形式的字典

num = ['1','2','3','4','5','6','7']             #要定义字典的key
day = ['周一','周二','周三','周四','周五','周六','周日']  #定义字典的value

dict_1 = {}

for index,key in enumerate(num):
    for index1,value in enumerate(day):
        
        if index == index1:
           dict_1[key] = value
print(dict_1)

 输出结果为:

python exe程序怎么多次运行_算法_07

3.遍历字典

 -默认遍历字典的是key

user = {"name":"小芳","age":17}
for item in user:
    print(item)

 结果为

python exe程序怎么多次运行_算法_08

-也可以遍历字典的value

user = {"name":"小芳","age":17}
for item in user.values():
    print(item)

 结果为:

python exe程序怎么多次运行_html5_09

-还可以同时遍历字典的key value,需要用2个变量

user = {"name":"小芳","age":17}
for key,value in user.items():
    print(value)

 输出结果可以是任意一个,我这里想输出的是value.所以结果为

python exe程序怎么多次运行_算法_10

range

      生成一个类似于列表的数据

      range(1,6)  就是[1,2,3,4,5] 跟切片相似,格式是(start,end) 不包括end

for item in range(1,6):
    print(item)

结果是

python exe程序怎么多次运行_算法_11

还可以加入步长(start,end,step)

for item in range(3,8,2):
    print(item)

 结果为

python exe程序怎么多次运行_python_12

for 和 if 的嵌套

dalaos = ["小芳","温暖如初","小蚊子"]
for dalao in dalaos:
    if dalao == "小芳":       #每次遍历元素后都进行判断
        print("村里有个姑娘")
    else:
        print("没有")

      结果为:

python exe程序怎么多次运行_html5_13

users = [{"name":"yuze","age":18},{"name":"小芳","age":16},{"name":"v","age":19},{"name":"w","age":20}]
#把成年和未成年分别加入响应的列表
adult = []
kids = []

for uesr in users:   #遍历users列表里的每一个字典
    if uesr["age"] >= 18:  #判断字典里age的值
        adult.append(uesr["name"])  #在adult列表里加入这个字典
    else:
        kids.append((uesr["name"]))
print(adult)
print(kids)

 输出结果为

python exe程序怎么多次运行_算法_14

双重for循环嵌套

       

users = [{"name":"yuze","age":18},{"name":"小芳","age":16},{"name":"v","age":19},{"name":"w","age":20}]
for user  in users:
    for key,value in user.items():#遍历{"name":"yuze","age":18}
        print(key,value,end="\t")
    print()     #表示每次遍历完第二个for语句,都要再空一行,

结果为:

python exe程序怎么多次运行_算法_15

先把嵌套的for语句全部完成遍历后,才返回到外层for语句开始第二次遍历

由内到外

for循环的自动化测试实际使用

      遍历测试用例 用例是用嵌套数据类型:[(),(),()]   [[],[],[]]  [{},{},{}]