for循环
需要重复执行某个过程,就可以使用循环
python中的循环有for循环和while
for 变量名 in 序列:
循环体
for:关键字
变量名:和声明变量时的变量名要求是一样的(功能:存储值)
in:关键字(在…里的意思)
序列:容器类型的数据(字符串、列表、字典、元组、集合)
循环体:会重复执行的代码块
执行过程:使用变量去序列中取数据,一个一个的取,取完为止,
每取一个值,依次执行循环体
for char in 'uryecdsbu1243':
print(char)
print('!')
print('===')
打印20次’abc’
range函数
“””
xrange是python2.x中的函数,在Python3.x中使用range函数代替了
range功能是产生指定范围的数字序列。一般用在for循环中,控制循环次数。或产生索引值
range(n):产生 0~n-1的整数序列
range(m,n):产生 m ~n-1 的整数序列
range(m,n,step):从m开始,每次家step产生下一个数字,直到n前面一个为止
range(10):产生0/1/2/3/4/5/6/7/8/9
for x in range(10):
print(x)
print('===')
# range(10,20):产生数字(10~19)
for x in range(10,20):
print(x)
print('++++')
# range(1,10,2):产生数字(13579)
for x in range(1,10,2):
print(x)
# 计算1+2+3+...+100
y = 0
for x in range(1,101):
y += x
print(y)
# 计算1*2*3*...*10
# 计算2*4*6*8*10
# 心得:从已经取到的值中挑选
y = 1
m = 1
for x in range(1,11):
y *= x
if x%2==0:
m *= x
print(y,m)
# 有一个字符串'abcdef',依次取出字符串中偶数位上的字符
str0 = 'abcdef'
for index in range(2,6,2):
print(str0[index])
# 循环取出字符串中的偶数下标
for index in range(0,len(str0),2):
print(str0[index])
# 循环取出字符串中每个字符的下标
for index in range(0,len(str0)):
# 判断下标是否是偶数
if index %2 ==0:
print(str0[index])
index = 0
for char in str0:
if index%2==0:
print(str0[index])
index += 1
while 循环
while 条件语句:
循环体
while: 关键字
条件语句:bool型结果
循环体:重复执行的代码段
执行过程:判断条件语句是否为True,如果为True就执行循环体。执行完循环体后,再判断条件语句是否为True,如果为True就再执行循环体,以此类推,直至条件语句的值为False,循环结束,执行while循环后面的语句
注意:如果条件语句一直为True,就会造成死循环。所以在循环体中要
有让循环体可以结束的操作
python中没有do-while循环
死循环
while :
print('aaa')
'''
flag = True
while flag:
print('aaa')
flag = False
#使用while循环计算1+2+...+100
sum = 0
x=1
while x<=100:
sum += x
x += 1
print(sum)
# 计算2+4+...+100
sum = 0
x=2
while x<=100:
sum += x
x += 2
print(sum)
break和continue
break和continue两个关键字都是作用于循环当中,用来结束循环的。
continue:结束当次循环,进入下次循环的判断。如果是for循环,就让变量取下一个值;如果是while循环就去判断while后边的条件语句是否为True
for x in range(10):
print(x)
continue #不执行continue后面的语句,直接让X取下一个值
print('===')
print('====')
for x in range(10):
if x %2:
continue
print(x)
break:结束整个循环,执行循环后面的语句。
for x in range(10):
print(x)
break
print('===')
print('!!!')
通过改变条件语句的值,来结束循环
number = 1
while number <= 100:
print(number)
number += 1
使用break结束死循环
number = 1
while True:
if number > 100:
break
print('==',number)
number += 1
找出100-1000 第一个能够被3整除同时能够被17整除的数
number = 100
while number<=1000:
number += 1
if number%3==0 and number%17==0:
print(number)
break
for x in range(100,1000):
if x%3==0 and x%17==0:
print(x)
break
for 和 while 的选择
fro循环的循环次数是确定的,while循环的循环次数可以不确定
1.循环次数不确定的时候,选择while循环
2.循环次数确定的时候,优先for循环。
通过循环遍历一个序列中的值,使用for循环
input()
接收从控制台输入数据的数据(输入的数据以回车结束)
程序中遇到input()函数,程序会阻塞,等待用户输入完成后,
才会接着执行后面的代码
使用value去保存从控制台输入的数据
value = input()
print('===')
产生随机数
python中有一个内置模块,可以产生随机数:random
randint(m,n):产生一个随机数(整数)
# 导入random模块
import random
# 产生1-10的随机数
number = random.randint(1,10)
print(number)