python学习笔记五(2023.12.02
1.loop
循环结构(挺简单的一部分)
-在Python中循环结构分为两类,分别是 while 和 for … in
while:
num1,num2 = 3,5
while num1 < num2: #while 循环的主体
print("hehehahay")
num1 += 1
可以不难看出,python里面的while和C、C++的while还是很相似的。
区别在于不同语言的不同语法而已。
注意:while在python中可以与else并用噢~
python没有do…while 语句,但可以通过轮子实现
for in 语句:
for 变量 in 容器:用于遍历容器类的数据(字符串,列表,元组,字典,集合)
list_One = [1,2,3,4]
for i in list_One :
print(val)
for语句很灵活,可以对自定容器实现同样的效果
格式2:
data = ('a','alibaba'),('b','baidu'),('c','changhong')
for k,v in data:
print(k,'======>',v)
此时需要遍历的容器必须是以下几种格式:
- [(),(),()] 列表中有元组
- [[ ],[ ],[ ]] 列表中有列表
- ((),(),()) 元组中有元组
- {(),(),()} 集合中有元组
- 字典的特殊使用
上次的题目写了具体代码如下:
def panDuan(num):
if '8'in num and '4'in num:
return 0
for i in range(0,10):
if str(i)*3 in num:
return 1
return 0
#如果用int型进行计算就需要以下代码:
'''
############3#对连续3个数的计算
a = num % 10
count = 0
for i in range(2,10):
num = num // 10
b = num % 10
if a==b:
count+=1
else:
count=0
if count==2:
return i+1
break
return 0
################################# 对4和8的计算
a = num % 10
count = 0
if a==4 or 8:
count += a
locate = 1
for i in range(2,10):
num = num // 10
a = num % 10
if a==4 or 8:
if count == 0:
locate = i
elif count != a:
return locate
break
return 0
'''
def xunHuan(begin,end):
count = 0
for num in range(int(begin), int(end)+1):#网上找到的循环思路
if panDuan(str(num).zfill(11))==1:#进行两次类型转换竟然可以简洁这么多
count += 1
return count
#print(xunHuan(12121284000,12121285550))
m, n = map(int,input().split())#输入
print(xunHuan(m,n))#输出