1. 为什么要使用循环
python中的循环结构有两种:for循环和while循环
当实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环
- 统计1~10000能够被13整除的数的个数
2. for循环
- a. 语法
for 变量 in 序列:
循环体
- b. 说明
- | - |
---|---|
for | 关键字 |
变量 | 一个变量名,可以是一句赋值过的变量,也可以是新的变量(一般写新的变量) |
in | 固定写法 |
序列 | 属于序列的数据;python中的序列:字符串、列表、字典、集合、元组、range、生成器、迭代器 |
: | 固定写法 |
循环体 | 需要重复执行的代码就放在循环体中;循环体需要和for保持一个缩进 |
for char in 'abc':
print('===')
print(char)
print('aaaaaaaaaa')
===
a
===
b
===
c
aaaaaaaaaa
-
第一次循环:char = 'a' print('=====') print(char)
-
第而次循环:char = 'b' print('=====') print(char)
-
第三次循环:char = 'b' print('=====') print(char)
# 练习:给一个字符串'hosee 23jhsaddsfkjsdf',统计字符串中数字字符的个数
str1 = input('请输入一个字符串: ')
count = 0
for i in str1:
if i.isdigit():
#print(i)
count += 1
print(count)
3. range函数
专门为for循环而生,一般不脱离for循环来用
- range(N),产生数字序列0 - N-1,N为正整数
- range(M, N),产生数字序列 M ~ N-1(M,N必须为整数,并且M > M)
- range(M, N, step),从M开始,每次值+step,产生下一个数字,直到N前一个数为止
for num in range(10):
print('num:', num, end=', ')
# 计算1+2+3...+100
sum1 = 0
for i in range(1, 101):
sum1 += i
print(sum1)
#求100以内所有能被13或者7整除的数的和
sum2 = 0
for i in range(100):
if i % 7 == 0 or i % 13 == 0:
sum2 += i
print(sum2)
# 通过遍历字符串字符下标遍历字符串
str1 = 'Hello World'
for index in range(0, len(str1)):
if index % 2 != 0:
print(str1[index])
3. while循环
- a. 语法
while 条件语句:
循环体
- b. 说明
- | - |
---|---|
while | 关键字;当...的时候 |
条件语句 | 和if后面的条件语句一样(赋值语句不行,别的语句都行) |
: | 固定写法 |
循环体 | 需要重复执行的语句,写在循环体中,循环体和while保持一个缩进 |
- c. 执行过程
当程序执行到while循环,就先判断条件语句是否为True,为True就执行一次循环体,执行完就再判断条件语句是否为True;
为True,又执行循环体...以此类推,直到判断条件语句的结果是False,循环就结束,直接执行后面的其他语句
- for 和 while的选择
严格来说:for循环可以做到的while都可以做到,while能做到的事情,for循环不一定可以做到
使用for: a.遍历序列,b.循环次数确定,
使用while: a.死循环,b.循环次数不确定的时候
# 用while循环遍历字符串
str1 = input('Enter a string: ')
index = 0
while index < len(str1):
print(str1[num])
index += 1
# 控制循环的次数
变量 = 0
while 变量 < 次数:
需要重复执行的代码
变量 += 1
# 练习,录入学生的成绩,录入结束以输入'end'来结束
num = ''
while num != 'end':
num = input('Enter str: ')
# 练习:输入密码,直到输入的密码合理为止,密码至少六位
psswd = input('Enter password: ')
while len(psswd) < 6:
print('Password Error, try again: ')
psswd = input('Enter password: ')
网友评论