1、for 循环
-
语法结构:
-
for 变量 in 序列:
循环体
-
-
执行过程:
- 让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体。
-
range的用法
用法 | 含义 |
---|---|
range (N) | 产生一个0~N-1的数字序列 |
range(M,N) | 产生一个M ~N-1的数字序列,M和N都是整数序列,并且M小于N |
range(M,N,step) | step控制每次增加的值,默认情况下是1 |
练习1:产生一个100到1所有的数字对应的序列
for x in range(100, 0, -1):
print(x)
练习2:计算1+2+3+…+100的和
sum1 = 0
for num in range(1, 101):
sum1 = num + sum1
print(sum1)
练习3:统计0~100中能够被3整除的偶数的个数
# 方法一
count = 0 # 定义一个变量保存最后的个数
for num in range(101):
if num % 3 == 0 and num % 2 == 0:
count += 1 # 满足条件的个数在原来基础上进行加和
print(count)
# 方法二:
count = 0
for num in range(0, 101, 6): # 能被3整除的偶数就是6的倍数
count += 1
print(count)
练习4:求1000以内能被7整除但是不能被3整除的数的和
方法一:
sum2 = 0
for num in range(1000):
if num % 7 == 0 and num % 3 != 0:
sum2 = num + sum2
print(sum2)
方法二:
sum2 = 0
for num in range(0, 1000, 7):
if num % 3 != 0:
sum2 = num + sum2
print(sum2)
练习5:统计1000以内十位数加上个位数的和等于5的数的个数
count = 0
for num in range(1000):
a1 = num % 100 // 10
b1 = num % 10
if a1 + b1 == 5:
count += 1
print(count)
2、while循环
-
语法结构:
-
while 条件语句:
循环体
-
-
执行过程:
- 先判断条件语句是否为True,是就执行循环体,执行完循环体再次判断条件语句是否为True,为True再继续执行,以此类推,直到条件语句的结果为False,整个循环就结束。
-
重点:while如何控制循环次数
-
变量 = 0
while 变量 < 次数:
需要重复执行的操作
变量 += 1
-
-
举例:
num = 0
while num < 5: # 打印+++的循环次数大于等于5次,结束循环
print('+++')
num += 1
# 思路:
'''
num = 0 < 5(True) -> print('+++') -> num += 1
num = 1 < 5(True) -> print('+++') -> num += 1
num = 2 < 5(True) -> print('+++') -> num += 1
---
num = 5 == 5(False) -> 结束循环
'''
3、for 和 while 的选择
- 什么时候用for循环:
- 遍历序列(需要将序列中的元素一个一个的取出)
- 循环次数确定
- 什么时候用while循环:
- 死循环
- 循环次数不确定
练习1:写程序实现不断输入数据,直到输入的内容为0为止
value = 1
while value != '0':
value = input('请输入一个数:') # 此处输入内容为字符型
4、countinue和break
两者只能在循环体中使用
- continue - 结束一次循环体
- 如果在执行循环体的时候遇到了continue,那么当次循环结束,直接进行下次循环
例如1:
for x in range(5):
print('++')
continue
print('--')
执行结果是:每循环一次打印++,遇到continue,结束循环当次打印--,再次循环也一样,直到循环5次。
++
++
++
++
++
例如2:
count = 0
for x in range(10):
if x % 3 == 0:
continue # 如果X是3的倍数,结束当次循环,直到X不是3的倍数, 则进行计数,直到10个数依次循环完
count += 1
print(count)
- break - 结束整个循环
- 如果执行循环体的时候遇到break,那么整个循环体直接结束
例如:
num = 0
while num < 5:
print('=======')
break
print('+++++++')
num += 1
print('end')
输出结果为:
=======
5、完整的for循环和while循环
"""
for 变量 in 序列:
循环体
else:
代码块
while 条件语句:
循环体
else:
代码块
else不影响原循环的执行; else后面的代码块在循环正常结束的时候会执行,
如果循环是因为遇到break而结束的,else后面的代码块就不会执行。
"""