2022.11.3~2022.11.4
1.range()函数的使用
# range()的三种创建方式
'''第一种创建方式,只有一个参数(括号中只有一个数)'''
r=range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 从0开始,默认相差1称为步长
print(r) # range(0, 10) 返回值是一个迭代器对象,看不到具体数据
print(list(r)) # 用于查看range对象中的整数序列 -->list是列表的意思
'''第二种创建方式,两个参数(括号中两个数)'''
r=range(1,10) # 指定了起始值,从1开始,到10结束(不包含10),默认补步长为1
print(list(r)) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
'''第三种创建方式,三个参数(括号中三个数)'''
r=range(1,10,2)
print(list(r)) # [1, 3, 5, 7, 9]
'''判断指定的整数在序列中是否存在'''
print(10 in r) # False 10不在当前的r这个整数序列中
print(9 in r) # True
print(10 not in r)
print(9 not in r)
'''节省内存空间'''
print(range(1,20,1)) # [1...19]
print(range(1,101,1)) # [1...100]
2.while
a=1
# 判断条件表达式
while a<10: # 执行条件执行体
print(a)
a+=1
'''4步循环法
1.初始化变量
2.条件判断
3.条件执行体(循环体)
4.改变变量
总结:初始化的变量与条件判断的变量与改变的变量为同一个'''
# 计算从1加到4
'''初始化变量为0'''
sum=0 # 用于存储累加和
a=0
'''条件判断'''
while a<5:
'''条件执行体(循环体)'''
sum+=a
'''改变变量'''
a+=1
print('和为',sum)
# 计算1到100之间的偶数和
sum=0
a=0
while a<=100:
if not a%2: # a%2==0 bool(a%2)=False
sum+=a
a+=1
print('1到100之间的偶数和',sum)
3.for in 循环
# for in 循环:
for item in "python": # 第一次取出来的是p,将p赋值给item,将item的值输出 这个字符串就是一个可迭代对象
print(item) # item是一个自定义变量(自己去的名字),取什么都行
# range()产生一个整数序列-->也是一个可迭代对象
for i in range(10):
print(i)
# 如果在循环体重不需要使用到自定义变量,可将自定义变量写为"_"(下划线)
for _ in range(5): # 循环执行5次,执行下面这句话
print('停车坐爱枫林晚,霜叶红于二月花')
# 使用for循环,计算1到100的偶数和
sum=0
for item in range(1,101):
if item%2==0:
sum+=item
print('1到100之间的偶数和为:',sum)
'''输出100到999之间的水仙花数
举例:
153=3*3*3+5*5*5+1*1*1(个位数上的的三次方+十位数上的三次方+百位数上的三次方之和与该数相等)'''
sum=0
for item in range(100,1000):
ge=item%10 # 个位
shi=item//10%10 # 十位
bai=item//100 # 百位
if item==ge**3+shi**3+bai**3:
print(item)
4.break、continue与else语句
# break,continue,else
'''从键盘录入密码,最多录入3次,如果正确就结束循环'''
'''method1'''
for item in range(3):
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
'''method2'''
sum=1
while sum<=3:
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
sum+=1
'''要求输出1到50之间所有5的倍数 5,10,15...
5的倍数的共同点: 和5的余数为0的数都是5的倍数
和5的余数不为0的数都不是5的倍数
'''
for item in range(1,51):
if item%5==0:
print(item)
'''使用continue'''
for item in range(1,51):
if item%5!=0:
continue
print(item)
# else
for item in range(3):
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
else:
print('对不起,三次密码均输入错误')
sum=1
while sum<=3:
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
sum+=1
else:
print('对不起,三次密码均输入错误')
5.嵌套循环
# 嵌套循环
# 输出一个三行四列的矩形
for i in range(1,4): # 行表,执行三次,一次是一行
for j in range(1,5):
print('*',end='\t') # 不换行输出
print() # 换行
# 直角三角形
for i in range(1,10): # 行数
for j in range(1,i+1):
print('*',end='')
print()
# 九九乘法表
for i in range(1,10): # 行数
for j in range(1,i+1):
print(i,'*',j,'=',i*j,end='\t')
print()
# 流程控制语句break与continue在二重循环中的使用:二重循环中的break和continue用于控制本层循环,外层循环执行一次,内层执行一轮
for i in range(5): # 代表外层循环要执行5次
for j in range(1,11):
if j%2==0:
break
print(j)
for i in range(5): # 代表外层循环要执行5次
for j in range(1,11):
if j%2==0:
continue
print(j,end='\t')
print()