python中的循环结构:for循环和while循环
- 循环的作用
让部分操作重复执行
- 怎么使用for循环
1)语法:
for 变量 in 序列
循环体
2)说明:
for、in -- 关键字,固定写法
变量 -- 变量名,需要满足变量的要求
序列 -- 容器类型的数据。字符串、列表、元祖、集合、字典、迭代器、生成器、range
: -- 固定写法
循环体 -- 和for 保持一个缩进的一条或者多条语句。需要重复执行的代码
3)执行过程:
让变量去序列中取值,一个一个的取值,取完为止,每取一个值执行一次循环体。序列中数据个数决定的循环的次数。
for x in 'python':
print(x)
print('end')
- range()函数
结合for循环来控制循环次数
结合for循环产生指定范围的数字序列
range是python内置的一个用来生成数字序列的函数,在python2.x中range由xrange代替
1)range(n)
产生数字范围为: 0 ~ n-1 -- n为任意正整数 range(0, n)
- range(m, n)
产生数字范围为: m ~ n-1 -- n, m 是任意整数 ,n > m
- range(m, n, step)
以step为长度增加,产生数字范围 : m ~ n-1 step为步长(可以为负数,要求n<m)
for x in range(10):
print(x)
for x in range(0, 10):
print(x)
for x in range(10, 0, -1):
print(x)
练习:使用for循环计算1+2+3+...100
sum = 0
for x in range(101):
sum += x
print(sum)
练习:打印出所有的水仙花数(一个三位数)
for x in range(100, 1000):
a = x // 100
b = x // 10 % 10
c = x % 10
if a ** 3 + b ** 3 + c ** 3 == x:
print(x)
count = 0
for x in range(100, 1000):
a = x // 100
b = x // 10 % 10
c = x % 10
if a ** 3 + b ** 3 + c ** 3 == x:
count += 1
print(count)
练习:统计0-100中个位上的数是5的个数
count = 0
for x in range(100):
c = x % 10
if c == 5:
count += 1
print(count)
- 怎么使用while循环
- 语法
while 条件语句:
循环体
2) 说明
while -- 关键字,固定写法
条件语句 -- python支持的数据,已经声明过的变量、除了赋值符号以外的运算表达式
: -- 固定写法
循环体 -- 和while保持一个缩进的一条或者多条语句;循环体会重复执行
3)执行过程
先判断条件语句是否为True,如果为True,就执行循环体,执行完循环体再判断条件语句是否为True, 又执行循环体,然后依次类推。直至条件语句结果False, 循环结束。再执行后面的其他语句
i = 0 # 用来控制循环次数
while i < 5:
print(i)
i += 1
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print(sum)
count = 0
i = 100
while i <= 999:
a = i // 100
b = i // 10 % 10
c = i % 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
count += 1
i += 1
print(count)
5.for 循环和while 循环
for循环能做的事情while循环都可以做;while能做的事情for循环不一定能做
循环次数确定的时候用for循环,循环次数不确定的时候用while循环,死循环用while循环
练习:程序能够不断输入操作,直到输入的内容为0为止
active = True
while active:
num = int(input('请输入一个数字: '))
if num == 0:
active = False
num = 1
while num != 0:
num = int(input('请输入一个数字: '))
6.continue语句
continue是循环体中的关键字,用来结束当次循环
当执行循环体的时候遇到了continue,当次循环结束,循环体中continue后面的语句不再执行,
直接进入下次循环的判断
x = 1
while x < 101:
if x % 3 == 0:
x += 1
continue
print(x)
x += 1
- break语句
break是循环体中的关键字,用来直接结束整个循环
当执行循环体的时候,遇到了break,整个循环直接结束,程序直接执行循环后边的循环语句
for x in range(10):
print(x)
print('===')
break
print('+++') #返回0 ===
while True:
if 循环结束条件:
break
while True:
value = int(input('请输入一个数: '))
if value == 0:
break
8.else
- else
for的完整结构:
for 变量 in 序列:
循环体
else:
代码块
其他语句
while 的完整结构:
while 条件语句:
循环体
else:
代码块
其他语句
说明:当循环自然死亡的时候(for中变量的值取完了,while后面的条件语句的值为False); else 后面的代码会执行
如果循环是因为遇见break而结束,else后面的代码就不会执行
应用:可以通过else来检查循环有没有遇到break。
for x in range(10):
print(x)
if x == 5:
break
else:
print('循环自然死亡')