前言:
这是这篇文章是B站学习python入门基础班的视频的第五章内容,主要讲述的是循环结构,主要包括while语句和for in语句。
一、 range函数
这个函数生成的是一个整数序列,他的返回值是一个迭代器对象,所以直接print它是没有用的,输出不了里面的值
所以要看它里面的值的话,得把他列表化,然后print才可以打印出来
range函数一般有三种书写方式:
1.如果只写一个参数,那么就默认这个参数是终止值,他的起始值默认是0,他的步长默认是1,就会产生一个以0开始,到终止值-1且步长为1的列表序列
a=range(20)
print(a)#输出range(0, 20)
print(list(a))#输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
2.如果只写两个参数,那么这两个参数的第一个默认为起始值,第二个数默认为终止值,步长还是默认为1,会产生以第一个数为起始值,第二个数为终止值的步长为1的列表序列
a=range(10,20)
print(list(a))#输出[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
3.如果写三个参数,那么这三个参数中第一个参数默认为起始值,第二个参数默认为终止值,第三个参数默认为步长,他就会产生以第一个数为起始值,第二个数为终止值,第三个数为步长的列表序列
a=range(10,20,3)
print(list(a))#输出[10, 13, 16, 19]
4.一般用in 或者not in来判断在range生成的序列里面有没有这个数
print(10 in list(a))#输出为True
print(15 in list(a))#输出为False
print(10 in a)#输出为True,相当于使用了这个函数,所以就会计算这个函数,所以才会使True
print(1 in a)#输出为True
二、while循环
while的具体用法和C一样,无出其右罢了,下面只有几个代码示例
'''计算0到4的和'''
b=0
a=0
while a<=4:
b=b+a
a=a+1print(b)
'''计算1-100之间的偶数和'''
'''sum=0
a=0
while a<=100:
sum=sum+a
a+=2print('1-00之间的偶数和为:',sum)'''sum=0
a=0
while a<=100:
if not bool(a%2):#bool将得到的对象强制转换成布尔类型True或者False
sum = sum + a
a+= 1
print('1-00之间的偶数和为:',sum)
三、 for item in 迭代对象
运行顺序如下:
首先它会将迭代对象的值赋值给item,然后执行次数就是迭代对象的迭代次数,目前迭代对象只包括range函数和字符串,列表(由于目前我只学到这些,就先写这些)
如果你不需要使用item,可以将其替换成_,这样,你就相当于只是使用了迭代次数.
'''sum=0
for i in range(0,101,2):
sum+=iprint(sum)'''sum=0for i in range(101):
if not i%2:
sum+=iprint(sum)
【B站|B站马士兵python入门基础版详细笔记(5)】比如:求出100-999之间所有的水仙花数
在写水仙花数的时候,一定需要注意一点,python里面的/表示除法,不是整除,不能惯用C语言的知识去写'''importdecimal
for item in range(100,1000):
m=itema=decimal.Decimal(item)%decimal.Decimal(10)
item=decimal.Decimal(item)//decimal.Decimal(10)
b=decimal.Decimal(item)%decimal.Decimal(10)
c=decimal.Decimal(item)//decimal.Decimal(10)
if a**3+b**3+c**3==m:
print(m)'''print('--------------其实没有必要写decimal的类型')for item in range(100, 1000):
m = item
a = item %10
item = item//10
b = item % 10
c = item // 10
if a ** 3 + b ** 3 + c ** 3 == m:
print(m)
四、break
是用来结束循环的一个语句,一般只用在循环结构中,分支和选择结构中,不用break
他只负责控制自己所在的循环,如果在多重循环中,他只负责结束自己循环的部分,不结束外层循环
'''输入密码,输入正确立即退出,输入错误,可以尝试三次'''print('------------for_in---------------')
for item in range(3):
pwd=input('请输入你的密码:')
if pwd =='8888':
print('密码正确')
break
else:
print('密码错误,请重新输入,你还可剩余输入密码次数:',2-item)print('-----------while-------------------------')a=0
while a<3:
pwd = input('请输入你的密码:')
if pwd == '8888':
print('密码正确')
break
else:
print('密码错误,请重新输入,你还可剩余输入密码次数:', 2 - a)
a+=1print('-----多层循环中,breake值结束自己循环的当前循环------------------------------------------')
for i in range(3):
for j in range(5):
if not j%2:#0%2的值为0,not之后变成了1,然后打印出了0
print(j,end='\t')#输出三行0
break
print()
五、continue
它的作用是立即跳出当前循环,进入下一循环
他只负责控制自己所在的循环,如果在多重循环中,他只负责结束自己循环的部分,不结束外层循环
""""输出1-50之间所有5的倍数"""for item in range(1,51):
if not item%5:
print(item)print('--------使用continue表示-----------------------')for item in range(1,51):
if item%5:
continue
print(item)print('-----多层循环中,continue值结束自己循环的当前循环------------------------------------------')
for i in range(3):
for j in range(5):
if not j%2:
print(j,end='\t')
continue
print()
六、else语句:
有三种搭配方式
1.和if搭配:和if搭配的时候,if语句或者else语句只执行其一即可
2.和while搭配:如果while语句执行完的时候,没有出现break,则执行else,如果出现break,则不执行else
3.和for搭配:和while搭配同理
for item in range(3):
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
breakelse:
print('密码错误.')else:
print('已经输入密码错误三次,请过90S之后再次尝试')print('-------和while搭配-------------------')a=0
while a<3:
pwd = input('请输入密码:')
if pwd == '8888':
print('密码正确')
break
else:
print('密码错误.')a+=1
else:
print('已经输入密码错误三次,请过90S之后再次尝试')
七、循环嵌套
这个模块有三个实例
'''输出一个三行四列的矩形'''#在print函数里面,end参数表示的是输出完成之后该做什么,默认情况下,end='\n',如果要求不换行的话,可以设置end=''或者end='\t'for item in range(3):
for item1 in range(4):
print('*',end='\t')
print('')
'''输出一个直角三角形,最后一行是9个*'''for i in range(9):
for j in range(1,10):
ifj-i<=1:
print('*', end='')
print('')for i in range(1,10):
for j in range(0,i):
print('*', end='')
print('')
'''输出一个9*9乘法表'''for i in range(1,10):
for j in range(1,10):
if i>=j:
print(i, '*', j, '=', i * j, end='\t')print('')for i in range(1,10):
for j in range(0,i):
print(i, '*', j+1, '=', i * (j+1), end='\t')
print('')
后言:这只是个人做的python学习笔记,如有问题,或者遗漏,希望可以指出,如果大家想要转发,请先通知本人。
推荐阅读
- flask|阿里云宝塔部署python-flask项目
- python|python爬虫实战演示
- python|day04 循环练习题
- Debug生涯|seaborn urllib.error.URLError: < urlopen error [WinError 10054] 远程主机强迫关闭了一个现有的连接。>
- python|使用python-Django创建Web站点
- 数学建模的知识|数学建模 层次分析法 python计算权重
- anaconda|anaconda和ts
- #|Python剑指offer打卡-4
- eNSP|eNSP中玩转Python自动化——通过FTP备份交换机配置文件