• while循环
  1. while 条件表达式:
  2. 循环体

循环体为: 一组被重复执行的语句,当条件表达式为真,则执行循环体中的语句,如果执行完毕,重新判断条件表达式的返回值直到表达式的结构为假,退出循环。

原理: 当条件为真,执行循环体,当条件为假,结束循环
Python3流程控制之循环语句 - 图1

  1. n = 100
  2. sum = 0
  3. counter = 1
  4. while counter <= n:
  5. sum = sum + counter
  6. counter += 1
  7. print("1 到 %d 之和为: %d" % (n,sum))
  1. #猜数字游戏
  2. import random
  3. answer = random.randint(1,100)
  4. print(answer)
  5. counter = 0
  6. while True:
  7. counter += 1
  8. number = int(input("请输入:"))
  9. if number < answer:
  10. print('大一点')
  11. elif number > answer:
  12. print('小一点')
  13. else:
  14. print('恭喜你猜对了!')
  15. break
  16. print('你总共猜了%d次' % counter)
  17. if counter > 7:
  18. print('你的智商余额明显不足')
  1. res = 1
  2. num = 1
  3. while num <= 100:
  4. if num % 7 == 0:
  5. res = num
  6. num += 1
  7. print(res)
  1. while True:
  2. choice = int(input('请输入选择的:'))
  3. if choice == 0:
  4. print('退出当前查询系统')
  5. break
  6. elif choice == 1:
  7. print('当前余额为:999元')
  8. elif choice == 2:
  9. print('当前剩余流量为: 5G')
  10. elif choice == 3:
  11. print('当前剩余通话为: 189分钟')
  12. else:
  13. print('输入错误,请重新输入')


while 循环使用 else 语句

在 while … else 在条件语句为 false 时执行 else 的语句块。
语法格式如下:

while : else:


  • for循环

语法:

  1. for 迭代变量 in 对象:
  2. 循环体
  1. #九九乘法口诀
  2. for i in range(1,10):
  3. for j in range(1,i+1):
  4. print('%d*%d=%d' %(i,j,i*j),end='\t')
  5. print()
  1. #输入一个正整数判断是不是素数。
  2. from math import sqrt
  3. num = int(input('请输入正整数:'))
  4. end = int(sqrt(num))
  5. is_prime = True
  6. for x in range(2,end + 1):
  7. if num % x == 0:
  8. is_prime = False
  9. break
  10. if is_prime and num != 1:
  11. print('%d是素数' % num)
  12. else:
  13. print('%d不是素数' % num)
  1. row = int(input('请输入行数: '))
  2. for i in range(row):
  3. for _ in range(i + 1):
  4. print('*', end='')
  5. print()
  6. for i in range(row):
  7. for j in range(row):
  8. if j < row - i - 1:
  9. print(' ', end='')
  10. else:
  11. print('*', end='')
  12. print()
  13. for i in range(row):
  14. for _ in range(row - i - 1):
  15. print(' ', end='')
  16. for _ in range(2 * i + 1):
  17. print('*', end='')
  18. print()
  • 跳转语句

1)break 结束循环

  1. res = 1
  2. num = 1
  3. while num <= 100:
  4. if num % 7 == 0:
  5. res = num
  6. break
  7. num += 1
  8. print(res)

image.png

2)continue
image.png
它只能终止本次循环,而提前进入下一次循环中

  1. while 条件表达式:
  2. 执行代码
  3. if 条件表达式2
  4. continue
  1. for 迭代变量 in 对象:
  2. if 条件表达式:
  3. continue
  1. total = 99
  2. for number in range(1,100):
  3. if number % 7 == 0:
  4. continue
  5. else:
  6. string = str(number)
  7. if string.endswith('7'):
  8. continue
  9. total -= 1
  10. print('从1数到99共拍腿',total,"次。")