美文网首页
for 循环

for 循环

作者: 匿隱 | 来源:发表于2019-01-22 12:17 被阅读0次

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='')

相关文章

网友评论

      本文标题:for 循环

      本文链接:https://www.haomeiwen.com/subject/bcknrqtx.html