def f(x):
for i in b:
if x==i:
return True
return False a=[2,0,9,3,10]
b=[10,9,16,2,7]
for i in a:
if f(i):
cnt+=1 print(cnt)
程序执行后的输出结果是( )
def isprime(m):
i=2
while i<=int(m**0.5):
if:
return False
i+=1
return True
for i in range(4, 1001, 2):
flag=False
for j in range(2, i):
if:
print(str(i)+"验证成功")
flag=True
break
if:
print(str(i)+"验证失败")
第一步:将经纬度转换为二进制
编码规则为:先将纬度范围(-90, 90)平分成两个区间(-90, 0)和(0, 90),如果目标维度位于前一个区间,则编码为 0,否则编码为 1,然后根据目标纬度所落的区间再平均分成两个区间进行编码,以此类推,直到精度满足要求,经度也用同样的算法。
序号 | 纬度范围 | 划分区间0 | 划分区间1 | 31.192932所属区间 |
1 | (-90,90) | (-90,0) | (0,90) | 1 |
2 | (0,90) | (0,45) | (45,90) | 0 |
3 | (0,45.0) | (0,22.5) | (22.5,45.0) | 1 |
4 | (22.5,45.0) | (22.5,33.75) | (33.75,45.0) | 0 |
5 | (22.5,33.75) | (22.5,28.125) | (28.125,33.75) | 1 |
…… | …… | …… | …… | …… |
最后得到纬度的二进制编码为:101011000101110, 用同样的方式可以得到经度(121.43737)的二进制编码:110101100101101
第二步:将经纬度的二进制编码合并,从偶数 0 开始,经度占偶数位,纬度占奇数位。经度
110101100101101,纬度 101011000101110,得到的二进制编码为:111001100111100000110011110110
偶 | 奇 | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | … | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | 偶 | 奇 | |
索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | … | 12 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
经纬度 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | … | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
第三步:将合并后的二进制数做 Base32 编码
按照每 5 位一组,分成 6 组,每组计算其对应的十进制数值,按照 Base32 表进行编码。
11100 11001 11100 00011 00111 10110 转换成十进制是 28 25 28 3 7 22,查表编码得到最终结果,wtw37q。
林老师想编写一个 Python 程序,输入编码后的字符串,输出该编码对应的经纬度范围,运行结果如图 a 所示:
图a |
def qj(l,r,a): #将二进制 a 转成对应的经纬度范围#该代码省略
def find(c): #在 base32 表中查找对应的十进制数
for i in :
if base32[i]==c:
return i base32="0123456789bcdefghjkmnpqrstuvwxyz" s=input("请输入编码:")
res="" jd=[]
wd=[]
for i in range(len(s)):
ans=""
j=0
while:
ans=
n=n//2
j+=1
res=res+ans
for i in range(len(res)):
if i%2==0:
jd+=res[i]
else:
wd+=res[i]
print("经度对应的二进制:",jd,"纬度对应的二进制:",wd)
print("经度范围:",qj(-180,180,jd),"纬度范围:",qj(-90,90,wd))
已知斐波拉契数列1,1,2,3,5,8,1321……其定义如下:
f(a)=
求斐波拉奖数列第n项的值。
def f(n): #定义递归函数
if n==1 n==2:
return 1
else:
return
n=int(input("请输入正整数n的值:"))
print() #打印结果
实现功能:输入一个年份,输出该年份是否是闰年,是则输出“YES”,否则输出“NO”。
def rn():
if(num%400==0 or num%4==0 num%100!=0):
return "YES"
:
return "NO"
year=(input("请输入年份:"))
print()
一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1,即n!=1*2*3*...*(n-1)*n。
n!= 现求n!。
def f(n): #定义递归函数f(n)
if n==0 or n==1:
return 1 #定义当n为0时函数返回值为1
else:
return #递归定义n≥1时的通项公式
=int(input("请输入n:")) #从键盘上输入n的值
print("n!的值为:", ) #输出结果
利用海伦公式求解三角形面积。已知a,b,c为三角形的三条边长,p为三角形的半周长,即p=(a+b+c)/2,计算此三角形面积s的海伦公式为:S=。
def hl(a, b, c): #定义求三角形面积的函数
p=
s= #计算三角形面积
return #返回面积的值
a, b, c=3, 4, 5 #边长依次赋值
print("此三角形的面积S为:", hl(a, b, c))
10月2号-10月8号浙号车牌限行规定
日期 | 2号 | 3号 | 4号 | 5号 | 6号 | 7号 | 8号 |
禁止通行车牌尾号 | 单号 | 双号 | 单号 | 双号 | 单号 | 双号 | 单号 |
def xianxing(s):
if s[0] != "浙":
jieguo="禁止通行"
elif :
jieguo="限行日期(2号、4号、6号、8号)"
else:
jieguo="限行日期(3号、5号、7号)"
return jieguo
chepai =input("请输入车牌号:")
i = 0
for j in range(len(chepai)):
if chepai[j]==",":
s=chepai[]
print(s+":"+)
i =
def judge(a,b):
dis=(cir[a][0]-cir[b][0])**2+(cir[a][1]-cir[b][1])**2
if dis==(cir[a][2]+cir[b][2])**2:
return 1
return 0
#cir存储"A"、"B"、"C"三个圆的 x,y 坐标及半径
cir={"A":[1,1,1],"B":[4,5,4],"C":[0,2,1]}
cnt=judge("A","B")+judge("A","C")+judge("B","C")
运行程序后,变量 cnt 的值是( )