目录
一、python中的内置函数
内置函数range()可创建一个整数列表,一般用在for循环中。range()的三种创建方式:
1、 range(stop)
r = range(10) #默认从0开始,默认相差1为步长
print(r) #range(0,10)
print(list(r)) #用于查看range对象中的整数数列 ---->list是列表的意思
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2、range(start,stop)
r = range(1,10) #指定初始值为1,到10结束不包括10,默认步长为1
print(r) #[1,2,3,4,5,6,7,8,9]
range(1, 10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
3、range(start,stop,step)
r = range(1,10,2) #指定从1开始,到10结束,步长(间隔)为2
print(list(r)) #[1,3,5,7,9]
[1, 3, 5, 7, 9]
4、range的实际应用
多用在循环或者数列列表中
'''1-100之间的偶数和'''
print(sum(range(1,101,2)))
补充:
in与not in 在列表中的操作
r = range(1,10)
print(3 in r) #True
print(10 not in r) #True
range()函数的优点在于不论存储的数据多长,它所占有的存储空间都是相同的,因为它只存储三个值 start,stop,step。
print(range(1,10,1))
print(range(1,1000,1))
这两个range中一个存储的1-10的整数个数,另一个存储1-1000的整数个数,但是他们的存储空间相同
二、python中的循环结构
1、while循环
当不满足循环表达式条件时退出循环,执行n次,判断n+1次
初始化变量值
while 判断条件 :
执行语句
改变变量
使用while循环时注意它的格式
'''计算0-4之间的总和'''
a = 0
s = 0 #定义初始化变量
while a <= 4 : #条件判断
s+=a #循环条件执行体
a+=1 #改变变量 python中的a++
print(s) #当print进行缩进,会依次打印出每一次循环的值
'''1-100之间的偶数和'''
i = 1
sum = 0
while i<=100 :
if i%2 == 0 :
i += 1
print(sum)
'''1-100之间的奇数和'''
i = 1
n = 0
while i<=100 :
if i%2 :
n += i
i += 1
print(n)
对于求奇数和,由于0的布尔值为False,当i%2==0时结果为False,不会执行下一条语句; 当i%2==1时结果为True继续执行求和运算,因此求偶数和可以有另一种表达方式: not bool(i%2) 对i%2的布尔型进行取反操作。
2、for-in循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串,in表达从(字符串,序列)中依次取值,又称为遍历,要注意for-in循环的操作对象必须是可迭代对象
for 变量 in 可迭代对象:
代码块
for item in 'python':
print(item)
#注意是依次取值, 定义一个变量item依次从字符串‘python’中取出每一个字母给item进行输出
#for-in循环,先从‘python’中取出p赋给item,在进行打印输出,再进行下一次取值输出
p
y
t
h
o
n
在for-in循环中经常使用range()产生一个整数序列,也是一个可迭代对象
for i in range(10): #依次打印了0-9
print(i)
不使用变量可以用 下划线'_'代替控制循环
for _ in range(5):
print('人生苦短,我用python') #打印五次
print('-----------使用for循环计算1-100之间的偶数和--------------')
sum = 0
for i_1 in range(1,101):
if not bool(i_1%2):
sum+=i_1
print(sum)
注意:python中具有严格的格式缩进,对于上述例题,如果将print与if语句对其,则print语句就会进入循环,就会依次打印每一次的值
i = 1
sum = 0
while i<=100 :
if i%2 == 0 :
sum += i
i += 1
print(sum) #print缩进,会进入循环
0
2
2
6
6
12.......
2450
2550 从0开始依次相加输出结果
三、python中的二重循环----嵌套
python语言允许在一个循环体里嵌入另一个循环
for i in range(1,4): #外面表示行数,执行三次,一次一行
for j in range(1,5): #里面表示一行打印的个数
print('*',end='\t')
print() #一行四个*都打印完跳出循环,即换行输出
* * * *
* * * *
* * * *
end=''表示当打印完*号后不换行输出, 在使用 \t 后则在*号后增加一个制表位。
1、python打印直角三角形
for i in range(1,10):
for j in range(i):
print('*',end='\t')
print()
思路:第一个for表示打印的行数,第二个for循环的range以i为参数,实现第一行打印一个,第二行打印两个...
2、python使用for循环打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print( i,'*',j,'=',i*j,end='\t')
print()
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16......
第三行print中的逗号可以使用+号代替,但要注意+号的对象是字符串类型,因此必须使用str()强制转换
print( str(i)+'*'+str(j)+'='+str(i*j),end='\t')
3、python使用while循环打印九九乘法表
i = 1
while i<=9 :
j = 1
while j<=i:
print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
j+=1
print()
i += 1
使用while循环要注意 每一行打印的数量总是小于等于该行数 因此j<=i
4、嵌套中的流程控制break、continue
for i in range(5):
for j in range(1,10):
if j%2 == 0:
break #break终止循环
#continue #continue能打印出与条件相反的结果
print(j,end='\t')
print()