蓝桥杯基础练习Python版答案解析

蓝桥杯基础练习Python版答案样例代码
有几个没做出来附上没做出来的图片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面附上代码
代码不完美,没什么注释sorry了各位,讲究看吧
`在这里插入代码’’‘import math#圆的面积
def mianji(n):
s=math.pinn
#print(s)
print("{:.7f}".format(s))
def main():
n=eval(input())
mianji(n)
main()
‘’’
‘’’#前n项求和
n=eval(input())
x=0
if n%2==0:
x=int((1+n)(n/2))
else:
x=int(n
int(n/2)+n)
print(x)
‘’’
‘’’
import re
x=input()
y=re.split(" “,x)[0]
z=re.split(” ",x)[1]
print(eval(y)+eval(z))
‘’’
‘’’
import re
n=eval(input())
li=input().split()
if len(li)==n:
for i in range(n):
li[i]=int(li[i])
li.sort()
for i in li:
print(i,end=’ ‘)
‘’’
‘’’
n=eval(input())
li=[]

print(li)
‘’’
‘’’
#数列排序
import re
def xuanze(li,n):#选择排序
for i in range(len(li)):
for j in range(i):
if li[i]>li[j]:
continue
else:
a=li[i]
li[i]=li[j]
li[j]=a
for i in range(n):
print(li[i],end=" “)
def main():
n=eval(input())
li=input().split()
if len(li)n:
for i in range(n):
li[i]=int(li[i])
xuanze(li,n)
main()
‘’’
#16进制转8进制先转换成2进制在转化成8进制
#这个出错了,暴力法不行
‘’’
n=eval(input())
li=[]
for i in range(n):
x=input()
li.insert(i,x)
x=[“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“A”,“B”,“C”,“D”,“E”,“F”]
y=[“0000”,“0001”,“0010”,“0011”,“0100”,“0101”,“0110”,“0111”,“1000”,“1001”,“1010”,“1011”,“1100”,“1101”,“1110”,“1111”]
z1=[“000”,“001”,“010”,“011”,“100”,“101”,“110”,“111”]
z=[“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”]
#转2进制
for o in li:
g=""
for j in o:
for k in range(16):
if j
x[k]:
j=y[k]
g=g+j
else:
continue
if len(g)%3!=0:
if len(g)%31:
g=“00”+g
if len(g)%3
2:
g=“0”+g
g1=”"
for i in range(int(len(g)/3)):
c1=g[i3]+g[i3+1]+g[i*3+2]
for c in range(8):
if c1z1[c]:
j1=z[c]
g1=g1+j1
#if g1[0]
“0”:
#print(g1.replace(g1[0],’’))
#else:
print(g1)
‘’’
‘’’
#将16进制转化为8进制
import re
n=eval(input())
li=[]
for i in range(n):
x=input()
li.insert(i,x)
for i in li:
a1=int(i,16)
b1=oct(a1)
b2=str(b1)
b2=b2.split(‘0o’)[1]
print(b2)
‘’’
‘’’
x=input()
y=int(x,16)
print(y)
‘’’
‘’’
import re
x=eval(input())
a1=hex(x)
b1=a1.split(‘0x’)[1]
print(b1.upper())
‘’’
‘’’
z=[]
x=eval(input())
for i in range(0,10):
for j in range(0,10):
for k in range(0,10):
if (i+j+k)*2x:
z.append(int(str(i)+str(j)+str(k)+str(k)+str(j)+str(i)))
elif(i+j)*2 + k
x:
z.append(int(str(i)+str(j)+str(k)+str(j)+str(i)))
z.sort()
for li in z:
print(li)
‘’’
‘’’
for i in range(1000,10000):
ge=i%10
shi=int(i/10)%10
bai=int(i/100)%10
qian=int(i/1000)
if geqian and shibai:
print(i)
else:
continue
‘’’
‘’’
import math
for i in range(100,1000):
ge=i%10
shi=int(i/10)%10
bai=int(i/100)
n=math.pow(ge,3)+math.pow(shi,3)+math.pow(bai,3)
if in:
print(i)
else:
continue
‘’’
‘’’
n=eval(input())#杨辉三角
li=[[] for i in range(n)]
for i in range(1,n+1):
if i
1:
li[0].insert(0,1)
print(li[0][0])
continue
if i2:
li[1].insert(0,1)
li[1].insert(1,1)
print(li[1][0],end=" ")
print(li[1][1])
continue
for j in range(1,i+1):
if j
1:
li[i-1].insert(0,1)
print(li[i-1][0],end=" “)
continue
if j==i:
li[i-1].insert(j-1,1)
print(li[i-1][j-1])
continue
else:
li[i-1].insert(j-1,li[i-2][j-2]+li[i-2][j-1])
print(li[i-1][j-1],end=” “)
‘’’
‘’’
import re #查找整数
n=eval(input())
lll=input()
x=input()
list1=lll.split()
j=0
for i in range(len(list1)):
j+=1
if list1[i]x:
print(j)
break
else:
continue
if x not in list1:
print(-1)
‘’’
‘’’
import re#数列特征
n=eval(input())
lll=input()
list1=lll.split()
x=eval(list1[0])
y=eval(list1[0])
k=0
for i in range(len(list1)):
k+=eval(list1[i])
if eval(list1[i])>=x:
x=eval(list1[i])
if eval(list1[i])<=y:
y=eval(list1[i])
print(x)
print(y)
print(k)
‘’’
‘’’
import re#字母图形
lll=input()
list1=lll.split()
n=eval(list1[0])
m=eval(list1[1])
list2=[“A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”,“K”,“L”,“M”,“N”,“O”,“P”,“Q”,“R”,“S”,“T”,“U”,“V”,“W”,“X”,“Y”,“Z”]
for i in range(n+1):
y=i
if i
0:
continue
for j in range(m):
if y>0:
y-=1
print(list2[y],end=”")
else:
print(list2[j-i+1],end="")
print(’’)

‘’’
‘’’
import re#01字串
x=[‘0’,‘1’]
for i in x:
for j in x:
for k in x:
for l in x:
for m in x:
print(i,end="")
print(j,end="")
print(k,end="")
print(l,end="")
print(m,end="")
print()
‘’’
‘’’
x=eval(input())#闰年判断
if x%4000:
print(‘yes’)
elif x%100!=0 and x%4
0:
print(‘yes’)
else:
print(‘no’)
‘’’
‘’’#阶乘
x=eval(input())
y=1
for i in range(1,x+1):
y=y*i
print(y)
‘’’
‘’’
a=eval(input())
b=eval(input())
print(a+b)
‘’’
‘’’
import re
a=input()
b=input()
x=a.split("")
y=b.split("")
print(x)
print(y)
‘’’
‘’’
import re
n=eval(input())
lll=input()
list1=lll.split()
for i in range(len(list1)):
list1[i]=eval(list1[i])
z=0
for i in range(len(list1)-1):
x=min(list1)
del list1[list1.index(x)]
y=list1[list1.index(min(list1))]
k=x+y
z+=k
list1[list1.index(min(list1))]=k
print(z)
‘’’
‘’’#2n皇后问题还没做出来
import re
n=eval(input())
list1=[[]for i in range(n)]
for i in range(n):
lll=input()
ll=lll.split()
for j in range(len(ll)):
list1[i].insert(j,eval(ll[j]))
list2=[[]for i in range(n)]
for i in range(n):
for j in range(len(list1[i])):
if list1[i][j]1:
if list2[i][j]
“黑”:
break
if list2[i][j]"":
continue
else:
continue
‘’’
‘’’
import re#报时助手
hm=input()
h=hm.split()[0]
m=hm.split()[1]
time={“0”:“zero”,“1”:“one”,“2”:“two”,“3”:“three”,“4”:“four”,“5”:“five”,“6”:“six”,“7”:“seven”,“8”:“eight”,“9”:“nine”,“10”:“ten”,“11”:“eleven”,“12”:“twelve”,“13”:“thirteen”,“14”:“fourteen”,“15”:“fifteen”,“16”:“sixteen”,“17”:“seventeen”,“18”:“eighteen”,“19”:“nineteen”,“20”:“twenty”,“30”:“thirty”,“40”:“forty”,“50”:“fifty”}
if m
"0":
if eval(h)<=20:
print(str(time[h])+" “+“o’clock”)
elif eval(h)<=24:
h=eval(h)-20
print(time[“20”]+” “+time[str(h)]+” “+“o’clock”)
elif m[0]"0"or h[0]“0”:
if m[0]“0”:
m=m.replace(m[0],"")
if h[0]
“0”:
h=h.replace(h[0],”")
if eval(m)<=20:
if eval(h)<=20:
if m!=“0”:
print(str(time[h])+" “+str(time[m]))
elif eval(h)<=24:
h=eval(h)-20
print(time[“20”]+” “+time[str(h)]+” “+str(time[m]))
if eval(m)>20:
m1=m[0]+“0”
m2=m[1]
if eval(h)<=20:
print(time[h]+” “+time[m1]+” “+time[m2])
elif eval(h)<=24:
h=eval(h)-20
print(time[“20”]+” “+time[str(h)]+” “+time[m1]+” “+time[m2])
‘’’
‘’’
#回形取数
def firstline(list1):#取第一列
for i in range(len(list1)):
print(list1[i][0],end=” “)
del list1[i][0]
return list1
def lastline(list1):#取最后一列
for i in range(len(list1)-1,-1,-1):
print(list1[i][len(list1[i])-1],end=” “)
del list1[i][len(list1[i])-1]
return list1
def firstrow(list1):#取第一行
for i in range(len(list1[0])-1,-1,-1):
print(list1[0][i],end=” “)
del list1[0][i]
del list1[0]
return list1
def lastrow(list1):#取最后一行
for i in range(len(list1[len(list1)-1])):
print(list1[len(list1)-1][0],end=” ")
del list1[len(list1)-1][0]
del list1[len(list1)-1]
return list1
def main():
mn=input()
m=eval(mn.split()[0])
n=eval(mn.split()[1])
list1=[[]for j in range(m)]
for i in range(m):
lll=input()
ll=lll.split()
for j in range(len(ll)):
list1[i].insert(j,ll[j])
while list1!=None:
try:
list1=firstline(list1)
list1=lastrow(list1)
list2=lastline(list1)
list1=firstrow(list2)
except:
break
main()
‘’’
‘’’
for i in range(len(list1))
for j in range(len(list1[i])):
if j0:
h=list1[i][0]
del list1[i][0]
print(h,end=" ")
break
if j
len(list1[i])-1:
list1[i].pop(j)
print(h)
break
if ilen(list1)-1:
for j in range(len(list1[i])):
h=list1[i][0]
del list1[i][0]
print(h,end=" ")
‘’’
‘’’
import re#龟兔赛跑问题
list1=input()
li=list1.split()
v1=int(li[0])#兔子速度
v2=int(li[1])#乌龟速度
t=int(li[2])#领先t米
s=int(li[3])#休息s秒
l=int(li[4])#总长
n=l%v2
n1=int(l/v2)
if n!=0:
n1+=1
st=0 #st兔子已经走到距离
sg=0 #sg乌龟已经走的距离
sh=0 #暂存sg
j=0
for i in range(1,n1+1):
if i 1:
st+=v1
sg+=v2
sh=sg
#print(st,sg)
if i!=1:
if st-sh>=t and st<l:
j+=1
if j<s:
st+=0
sg+=v2
if sg>=l:
print(‘T’)
print(i)
break
continue
if j
s:
j=0
st+=0
sg+=v2
sh=sg
if sh>=l:
print(‘T’)
print(i)
break
continue
if st-sh<t and st<l:
st+=v1
sg+=v2
sh=sg
if st>=l and st>sh:
print(‘R’)
print(i)
break
if st
shl:
print(‘D’)
print(i)
if st<sh and sh
l :
print(‘T’)
print(i)
‘’’
‘’’
import re#芯片测试问题
n=input()
n=eval(n)
list1=[[]for i in range(n)]
for i in range(n):
x=input()
li=x.split()
for j in range(n):
list1[i].insert(j,eval(li[j]))
set1=set()
#假设某一个位好的,进行匹配
def caixiang(x):
for i in range(0,n):
if ix:
continue
else:
if list1[x][i]1:
if list1[i]list1[x]:
set1.add(x+1)
set1.add(i+1)
else:
x+=1
caixiang(x)
return set1
x=caixiang(0)
for i in x:
print(i,end=" ")
‘’’
‘’’
#FJ的字符串
import math
n=eval(input())
list1=[‘A’,‘B’,‘C’,‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘J’,‘K’,‘L’,‘M’,‘N’,‘O’,‘P’,‘Q’,‘R’,‘S’,‘T’,‘U’,‘V’,‘W’,‘X’,‘Y’,‘Z’]
def zifuchuan(x):
if x
1:
An=“A”
else:
An=zifuchuan(x-1)+list1[x-1]+zifuchuan(x-1)
return An
print(zifuchuan(n))
‘’’
‘’’
#Sine之舞
n=eval(input())
def An(x):
if x%2
0:
if x
n:
an=str(n)+’+sin(’+str(n)+’)’
return an
else:
an=str(x)+’+sin(’+str(An(x+1))+’)’
else:
if x==1:
an=‘sin(’+‘1’’-sin(’+str(An(x+1))+’))’
else:
an=str(x)+’-sin(’+str(An(x+1))+’)’

print(An(1))
‘’’
‘’’

Sine之舞

n=eval(input())
def An(x):
if n1:
an=‘sin(1)’
return an
if x%2
0:
if xn:
an=str(An(x-1))+str(x)+’)’ * (n+1)
return an
else:
an=str(An(x-1))+str(x)+’+sin(’
return an
else:
if x
1:
an=‘sin(1-’+‘sin(’
return an
else:
if xn:
an=str(An(x-1))+str(x)+’)’ * (n+1)
return an
else:
an=str(An(x-1))+str(x)+’-sin(’
return an
def Sn(x):
j=n
if j
1:
sn=‘sin(1)’+’+’+str(j)
return sn
if x==1:
sn=’(’+‘sin(1)’+’+’+str(n)+’)’
return sn
else:
sn=’(’+Sn(x-1)+An(x-1)+str(x)+’)‘x+’+’+str(n-x+1)+’)’
return sn
X=Sn(n)
if n>1:
print(X[1:-1])
else:
print(X)
‘’’
‘’’
#数的读法
list1=[‘ling’,‘yi’,‘er’,‘san’,‘si’,‘wu’,‘liu’,‘qi’,‘ba’,‘jiu’]
x=eval(input())
YI=int(x/100000000)
WAN=int(x%100000000/10000)
QIAN=int(x%10000/1000)
BAI=int(x%1000/100)
SHI=int(x%100/10)
if YI!=0:
if int(YI/10)!=0:
if int(YI/10)>1:
i=int(YI/10)
print(list1[i],‘shi’,end=" “)
if int(YI/10)==1:
print(‘shi’,end=” “)
if YI%10!=0:
i=YI%10
print(list1[i],end=” “)
print(‘yi’,end=” “)
if WAN!=0:
if int(WAN/1000%10)>=1:
i=int(WAN/1000%10)
print(list1[i],‘qian’,end=” “)
if int(WAN/100%10)>=1:
i=int(WAN/100%10)
print(list1[i],‘bai’,end=” “)
if int(WAN/10%10)>1:
i=int(WAN/10%10)
print(list1[i],‘shi’,end=” “)
if int(WAN/10%10)1:
print(‘shi’,end=" “)
if WAN%10>=1:
i=int(WAN%10)
print(list1[i],end=” “)
print(‘wan’,end=” “)
if QIAN!=0:
i=QIAN
print(list1[i],‘qian’,end=” " )
if BAI!=0:
print(list1[BAI],‘bai’,end=" “)
if SHI!=0:
print(list1[SHI],‘shi’,end=” “)
if int(x%10)!=0:
i=int(x%10)
print(list1[i])
else:
if int(x%10)!=0:
i=int(x%10)
print(‘ling’,list1[i],end=” “)
else:
if SHI!=0:
print(‘ling’,list1[SHI],‘shi’,end=” “)
if int(x%10)!=0:
i=int(x%10)
print(list1[i])
else:
if int(x%10)!=0:
i=int(x%10)
print(‘ling’,list1[i])
else:
if BAI!=0:
if YI!=0 or WAN!=0:
print(‘ling’)
print(list1[BAI],‘bai’,end=” “)
if SHI!=0:
print(list1[SHI],‘shi’,end=” “)
if int(x%10)!=0:
i=int(x%10)
print(list1[i])
else:
if int(x%10)!=0:
i=int(x%10)
print(‘ling’,list1[i],end=” “)
else:
if SHI!=0:
print(‘ling’,list1[SHI],‘shi’,end=” ")
if int(x%10)!=0:
i=int(x%10)
print(list1[i])
else:
if int(x%10)!=0:
i=int(x%10)
print(‘ling’,list1[i])
‘’’
‘’’
#完美的代价不会做,还没做出来
n=eval(input())
x=input()
list1=[]
list2=[]
if n%2
0:
y=x[int(n/2)]
for i in range(len(x)):
if x[i] in list1:
k=list1.index(x[i])
list2.insert(k,list2[k]+1)
elif x[i] not in list1:
list1.append(x[i])
list2.append(1)
print(list1)
print(list2)
‘’’
‘’’
#矩阵面积交
import re
import math
x1=input()
x2=input()
list1=x1.split(” “)
list2=x2.split(” ")
def GetXiangJiao(list1,list2):
x1=eval(list1[0])
y1=eval(list1[1])
x2=eval(list1[2])
y2=eval(list1[3])
x3=eval(list2[0])
y3=eval(list2[1])
x4=eval(list2[2])
y4=eval(list2[3])
dot1=x1+y1
dot2=x2+y2
dot3=x3+y3
dot4=x4+y4
dou=[dot1,dot2,dot3,dot4]
dou.sort()
if dou[1]==dot1:
if dou[0]==dot2:
print(‘0.00’)
return 0
if dou[2]==dot3:
print(’{:.2f}’.format(math.fabs((x3-x1)
(y3-y1))))
return 0
if dou[2]==dot4:
print(’{:.2f}’.format(math.fabs((x4-x1)(y4-y1))))
return 0
if dou[2]==dot2:
print(’{:.2f}’.format(math.fabs((x2-x1)
(y2-y1))))
return 0
if dou[1]==dot2:
if dou[0]==dot1:
print(‘0.00’)
return 0
if dou[2]==dot3:
print(’{:.2f}’.format(math.fabs((x3-x2)(y3-y2))))
return 0
if dou[2]==dot4:
print(’{:.2f}’.format(math.fabs((x4-x2)
(y4-y2))))
return 0
if dou[2]==dot1:
print(’{:.2f}’.format(math.fabs((x2-x1)(y2-y1))))
return 0
if dou[1]==dot3:
if dou[0]==dot4:
print(‘0.00’)
return 0
if dou[2]==dot1:
print(’{:.2f}’.format(math.fabs((x3-x1)
(y3-y1))))
return 0
if dou[2]==dot2:
print(’{:.2f}’.format(math.fabs((x3-x1)(y3-y1))))
return 0
if dou[2]==dot4:
print(’{:.2f}’.format(math.fabs((x4-x3)
(y4-y3))))
return 0
if dou[1]==dot4:
if dou[0]==dot3:
print(‘0.00’)
return 0
if dou[2]dot1:
print(’{:.2f}’.format(math.fabs((x4-x1)(y4-y1))))
return 0
if dou[2]==dot2:
print(’{:.2f}’.format(math.fabs((x4-x1)
(y4-y1))))
return 0
if dou[2]dot3:
print(’{:.2f}’.format(math.fabs((x4-x3)*(y4-y3))))
return 0
GetXiangJiao(list1,list2)
‘’’
‘’’
#矩阵乘法
li=input()
n=eval(li.split()[0])
m=eval(li.split()[1])
list1=[[]for i in range(n)]
list2=[]
for i in range(n):
ll=input()
lj=ll.split()
for j in range(len(lj)):
list1[i].append(eval(lj[j]))
list2=list1
def matrixMul(A, B):
res = [[0] * len(B[0]) for i in range(len(A))]
for i in range(len(A)):
for j in range(len(B[0])):
for k in range(len(B)):
res[i][j] += A[i][k] * B[k][j]
return res
if m!=0:
for i in range(m-1):
list2=matrixMul(list1,list2)
for i in range(len(list2)):
for j in range(len(list2[i])):
print(list2[i][j],end=" “)
print(” ")
if m
0:
for i in range(len(list1)):
for j in range(len(list1[i])):
if i
j:
print(“1”,end=" “)
else:
print(“0”,end=” “)
print(” ")
‘’’
‘’’
#分解质因数没全对,超时优化不了

import re
ll=input()
min1=eval(ll.split()[0])
max1=eval(ll.split()[1])
def pansu(x):
if x==1:
return 0
for i in range(2,int(x/2)+2):
if x%i!=0:
continue
else:
return 0
return x
def fenjie(y,list1):
for i in range(2,int(y/2)+2):
if y%i!=0:
continue
else:
list1.append(str(i))
j=int(y/i)
if pansu(j)!=0:
list1.append(str(j))
return list1
else:
fenjie(j,list1)
return list1

list2=[]
for i in range(min1,max1+1):
if pansu(i)!=0:
print(str(i)+"="+str(i))
continue
else:
list1=[]
x=fenjie(i,list1)
print(str(i)+"="+x[0],end="")
for i in x[1:]:
print("*"+i,end="")
print()
‘’’
‘’’
#字符串对比
x=input()
y=input()
if x!=y:
if len(x)!=len(y):
print(“1”)
else:
if x.lower()==y.lower():
print(“3”)
else:
print(“4”)

else:
print(“2”)
‘’’
#时间转换
x=eval(input())
H=int(x/3600)
M=int(x/60)%60
S=int(x%60)
str1=str(H)+":"+str(M)+":"+str(S)
print(str1)
片`
本文为原创作品,不可抄袭

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆豆小先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值