1.为什么要使用循环
python中的循环结构有两种: for循环和while循环;
当实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环
# 1+2+3+...+100
# print(1+2+3+4+5+6+7+...+100)
# 统计1~10000能够被13整除的数的个数
2.for循环
a.语法
for 变量 in 序列:
循环体
b.说明
for - 关键字
变量 - 一个变量名,可以是已经赋值过的变量也可以是新的变量(一般是新的变量)
in - 固定写法
序列 - 属于序列的数据; python中的序列有:字符串、列表、字典、集合、元祖、range、迭代器、生成器
: - 固定写法
循环体 - 需要重复执行的代码就放在循环体中;循环体需要和for保持一个缩进
c.执行过程(重要!)
让变量去序列中取值,一个一个的取,取完为止。每取一个值,执行一次一次循环体。
(序列中元素的个数决定了循环体执行的次数)
第一次循环: char = 'a' print('===') print(char)
第二次循环: char = 'b' print('===') print(char)
第三次循环: char = 'c' print('===') print(char)
for char in 'abc':
print('===')
print(char)
print('aaaaaaaaa')
练习:给一个字符串'hosee 23jh!hs89_=sssAsK', 统计这个字符串中数字字符的个数
str1 = 'hosee 23jh!hs89_=sssAsK'
count = 0 # 用来保存数字字符的个数,默认是0个
for char in str1:
if '0' <= char <= '9':
count += 1
print('%s中有%d个数字字符' % (str1, count))
3.range函数
range(N) -> 产生数字序列 0 ~ N-1 (N必须是整数, N大于0)
range(M, N) -> 产生数字序列 M ~ N-1 (M,N必须是整数, N > M)
range(M, N, step) -> 从M开始,每次值加step产生下一个数字,直到N前一个为止。 (M,N必须是整数, step>0,N>M;step<0,N<M)
for num in range(1, 100, 2):
print('num:', num)
练习:计算1+2+3...+100
sum1 = 0
num = 1 sum1 += num, sum1 = sum1+num = 0+1
num = 2 sum1 += num, sum1 = sum1+num = 1+2
num = 3 sum1 += num, sum1 = sum1+num = 1+2+3
...
num = 100 sum1 += num, sum1 = sum1+num = 1+2+3+4+..+100
sum1 = 0
for num in range(1, 101):
sum1 += num
print(sum1)
练习: 求100以内所有能被13或者7整除的数的和
sum1 = 0
for num in range(100):
if num % 13 == 0 or num % 7 == 0:
sum1 += num
print(sum1)
4.通过遍历字符串字符下标遍历字符串
"""
str1 = 'hello word!'
index是字符对应的下标, 从前往后取
for index in range(len(str1)):
print(str1[index], end='')
index是字符对应的下标, 从后往前取
for index in range(-1, -len(str1)-1, -1):
print(str1[index], end='')
网友评论