if条件判断

基本定义

  1. if 条件:
  2. 执行代码A
  3. else:
  4. 执行代码B

流程控制语句 - 图1


  1. if 3>2:
  2. print("Yes")
  3. else:
  4. print("No")

  1. import random
  2. # 随机生成0-9之间的值
  3. num = random.randint(0,9)
  4. print(num)
  5. if num>5: # 如果大于5
  6. print("Yes")
  7. else: # 否则
  8. print("No")

多分支判断

  1. if 条件A:
  2. 代码A
  3. elif 条件B:
  4. 代码B
  5. elif 条件C:
  6. 代码C
  7. else:
  8. 代码D

使用 elif 可以添加多个分支

分数 评级
0-59 不及格
60-79
80-100
不在0-100之内 数据有误

  1. import random
  2. # 生成随机数
  3. num = random.randint(-100,200)
  4. if num < 60 and num >= 0:
  5. print(f"{num} 不及格")
  6. elif num >=60 and num < 80:
  7. print(f"{num} 良")
  8. elif num >=80 and num <=100:
  9. print(f"{num} 优秀")
  10. else:
  11. print(f"{num}数据有误")

如果有很多分支,就需要在代码中 通过添加 elif 的方式来进行。

for 循环

使用 for循环可以重复执行代码

range 生成指定序列

  1. # 循环9次
  2. for i in range(9):
  3. print(i)

for 循环字符串

  1. words = "abcdefg"
  2. for w in words:
  3. print(w)

for 循环列表

  1. students = ["hello","china","woman","man"]
  2. for s in students:
  3. print(s)

for 循环集合

  1. students = {"hello","china","woman","man","china"}
  2. for s in students:
  3. print(s)

for 循环字典

循环字典类型与 其他格式稍微不太一样。需要大家注意:

  1. testcases = {
  2. "name":"用户注册",
  3. "url":"https://www.xxxxx.com"
  4. }
  5. # 字典中的元素是成对出现的。 循环的时候 两个变量 k,v
  6. # .items() 固定的写法
  7. for k,v in testcases.items():
  8. print(k, v)

while 循环

while循环可以执行 无限循环。

  1. while True:
  2. print("Hello world!")

image.png

当然,我们在使用while 循环的时候,会给while循环添加执行的条件。比如循环10次

  1. num = 0
  2. # 当num的值小于10
  3. while num < 10:
  4. print(num)
  5. # 每次循环 更新一下 num的值
  6. num = num+1

嵌套循环

当循环的条件比较复杂的时候,可以写多层循环。

  1. for i in range(5):
  2. for j in range(i):
  3. print(i,j)

打印出 9层的金子塔

  1. for i in range(9):
  2. # 星星的数量
  3. star = (2*(i+1)-1) * "*"
  4. # 每行星星前空格
  5. blank = (9-i+1) * " "
  6. print(blank+star)

image.png

break 与 continue

break 中断循环

在循环体中,如果遇到break 语句,可以终止循环。

  1. for i in range(10):
  2. print(i)
  3. # 当i的值为5的时候
  4. if i == 5:
  5. # 中断 for 循环
  6. break

同样的 while 循环也可以被中断。

  1. num = 0
  2. while True:
  3. print(num)
  4. num +=1 # num = num+1
  5. if num == 5:
  6. break

在循环体中,遇到 break 语句 就会中断当前的循环。

continue 中断当次循环

跟break 不同的时候, break 会将整个循环都停止掉, continue会停止当前执行的循环,不会中断整个循环。

  1. for i in range(5):
  2. print(f"开始循环 {i}")
  3. if i == 3:
  4. continue # 结束本次循环,不会中断整个循环
  5. print(f"结束循环 {i}")

  1. num =0
  2. while num<5:
  3. num = num + 1
  4. print(f'开始循环 {num}')
  5. if num == 3:
  6. continue
  7. print(f'结束循环 {num}')

多层嵌套循环中

如果有多层循环, break 在那一层循环,会中断对应的循环。

  1. for i in range(5):
  2. print(f"i的值: {i}")
  3. for j in range(3):
  4. print(f'j的值开始{j}')
  5. break # break 只能中断 j 循环
  6. print(f'j的值结束{j}')
  7. print(f'i的值: {i}')