蓝桥杯入门训练&基础练习

圆的面积

import math
PI=3.14159265358979323
r=float(input())
from decimal import *
a=PI*r*r
print ('%.7f'%a)
5
78.5398163
a=int(input())

temp1=1
temp2=1
res=0
t=0
for i in range(3,a+1):
    res=(temp1+temp2)%10007
    temp1=temp2%10007
    temp2=res%10007
#     if res >10007:
#         print(res%10007)
#         t=1
#         break
if  a<=2:    #t==0 and
    print(1)
elif  a>2:    #t==0 and
    print(res%10007)
    

序列求和

a=int(input())
res=0
for i in range(1,a+1):
    res+=i
print(int(((1+a)/2)*a))

数列排序

n=int(input())
list_=list(map(int,input().split()))
list_.sort()
res=''
for i in range(n):
    res+=str(list_[i])+' '
#     print (list_[i])
print(res)
list_=list(map(str,list_))
print(' '.join((list_)))
print('{:.1f}'.format(4.234324525254))
print('{:.4f}'.format(4.1))
print('{0}xxxxxxxx{1}'.format('这是0要传入的东西','这是1要传入的东西'))
test={'nan':'werty'}
print("ghjk{nan}gbhnjmk".format(**test))

进制转化,b o d x 分别表示二、八、十、十六进制

print('{:b}'.format(250))
print('{:o}'.format(250))
print('{:d}'.format(250))
print('{:x}'.format(250))
#千分位分隔符,这种情况只针对与数字
print('{:,}'.format(100000000))
print('{:,}'.format(235445.234235))

精度和类型f精度常和f一起使用

print('{:.1f}'.format(4.234324525254))
print('{:.4f}'.format(4.1))

十六进制转八进制

n=int(input())
res=[]
for i in range(n):
    temp=input()
    mid=int(temp,16)
    res.append('{:o}'.format(mid))
for i in range(n):
    print(res[i])
mapping= \
{
'0':"0000",
'1':"0001",
'2':"0010",
'3':"0011",
'4':"0100",
'5':"0101",
'6':"0110",
'7':"0111",
'8':"1000",
'9':"1001",
'A':"1010",
'B':"1011",
'C':"1100",
'D':"1101",
'E':"1110",
'F':"1111"
}

n=int(input())

for _ in range(n):
    n16=input()
    n2=''
    n8=''
    for i in n16:
        n2+=mapping[i]

    temp=len(n16)*4%3
    if temp==1:
        n2='00'+n2
    elif temp==2:
        n2='0'+n2

    flag=0
    for i in range(0,len(n2),3):
        num=4*int(n2[i])+2*int(n2[i+1])+int(n2[i+2])
        if num!=0:
            flag=1
        if flag:
            print(num,end='')

    print('')
2
32
62
123ABC
4435274
for i in range(0,9,3):
    print(i)
0
3
6

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等
整数之间的进制转换:
10进制转16进制: hex(16) ==> 0x10
16进制转10进制: int(‘0x10’, 16) ==> 16
类似的还有oct(), bin()

字符串转整数:
10进制字符串: int(‘10’) ==> 10
16进制字符串: int(‘10’, 16) ==> 16
16进制字符串: int(‘0x10’, 16) ==> 16

字节串转整数:
转义为short型整数: struct.unpack(’<hh’, bytes(b’\x01\x00\x00\x00’)) ==> (1, 0)
转义为long型整数: struct.unpack(’<L’, bytes(b’\x01\x00\x00\x00’)) ==> (1,)

整数转字节串:
转为两个字节: struct.pack(’<HH’, 1,2) ==> b’\x01\x00\x02\x00’
转为四个字节: struct.pack(’<LL’, 1,2) ==> b’\x01\x00\x00\x00\x02\x00\x00\x00’

字符串转字节串:
字符串编码为字节码: ‘12abc’.encode(‘ascii’) ==> b’12abc’
数字或字符数组: bytes([1,2, ord(‘1’),ord(‘2’)]) ==> b’\x01\x0212’
16进制字符串: bytes().fromhex(‘010210’) ==> b’\x01\x02\x10’
16进制字符串: bytes(map(ord, ‘\x01\x02\x31\x32’)) ==> b’\x01\x0212’
16进制数组: bytes([0x01,0x02,0x31,0x32]) ==> b’\x01\x0212’

字节串转字符串:
字节码解码为字符串: bytes(b’\x31\x32\x61\x62’).decode(‘ascii’) ==> 12ab
字节串转16进制表示,夹带ascii: str(bytes(b’\x01\x0212’))[2:-1] ==> \x01\x0212
字节串转16进制表示,固定两个字符表示: str(binascii.b2a_hex(b’\x01\x0212’))[2:-1] ==> 01023132
字节串转16进制数组: [hex(x) for x in bytes(b’\x01\x0212’)] ==> [‘0x1’, ‘0x2’, ‘0x31’, ‘0x32’]

十六进制转十进制

a=input()
print(int(a,16))

十进制转十六进制

a=int(input())
print ('{:x}'.format(a).upper())

特殊回文数

n=int(input())
list_=[]
for i in range(1,10):
    for j in range(0,10):
        for k in range(0,10):
            if 2*(i+j+k)==n:
                list_.append(i*100000+i+j*10000+j*10+k*1000+k*100)
            if (2*i+2*j+k)==n:
                list_.append(i*10000+i+j*1000+j*10+k*100)
a=list(set(list_))
a.sort()
for i in range(len(a)):
    print(a[i])

回文数

for i in range(1,10):
    for j in range(10):
        print(i*1000+i+j*100+j*10)

特殊的数字

for i in range(1,10):
    for j in range(10):
        for k in range(10):
            if (i*i*i+j*j*j+k*k*k)==(i*100+j*10+k):
                print(i*100+j*10+k)

杨辉三角形

n=int(input())
temp=[1]
for i in range(n):
    print(' '.join(list(map(str,temp))))
    n1=len(temp)
    t1=[1]
    j=0
    while j+1<n1:
        t1.append(temp[j]+temp[j+1])
        j+=1
        #print('t1',t1)
    temp=t1
    temp.append(1)
        

查找整数

n=int(input())
list_=list(map(int,input().split()))
target=int(input())
true=0
for i in range(n):
    if list_[i]==target:
        print(i+1)
        true=1
        break
if true==0:
    print(-1)

数列特征

n=int(input())
list_=list(map(int,input().split()))
print(max(list_))
print(min(list_))
print(sum(list_))

子母图形

mn=list(map(int,input().split()))
q=['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'
]
t1=q[0:mn[1]]
print(''.join(t1))
#print('t1',t1[1],type(t1[1]))

for i in range(1,mn[0]):
    if i==1:
        print( ''.join(list(t1[1])+t1[0:-i]))
    else:
        t2[:]=reversed(t1[1:i+1])
        print(''.join(t2+t1[0:-i]))
mn=list(map(int,input().split()))
q=['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'
]
t1=q[0:mn[1]]
print(''.join(t1))
#print('t1',t1[1],type(t1[1]))
j=1
start=0
for i in range(1,mn[0]):
    if j==1:
        print( ''.join(list(t1[1])+t1[start:-j]))
    else:
        t2[:]=reversed(t1[start+1:j+1])
        print(''.join(t2+t1[start:-j]))
    j=j+1
    if j>=mn[0]:
        j=j-mn[0]
        start+=1

上面的思路错了,下面的是对的

def op1(mn,t1):
    print(''.join(t1[0:mn[1]]))
    #print('t1',t1[1],type(t1[1]))
    re=[]
    for i in range(1,mn[0]):
        if i==1:
            re=list(t1[1])+t1[0:-i]
            print(''.join(re[0:mn[1]]))
        else:
            t2=[]
            t2[:]=reversed(t1[1:i+1])
            re=t2+t1[0:-i]
            print(''.join(re[0:mn[1]]))


mn=list(map(int,input().split()))
q=['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']
op1(mn,q)

20 20
ABCDEFGHIJKLMNOPQRST
BABCDEFGHIJKLMNOPQRS
CBABCDEFGHIJKLMNOPQR
DCBABCDEFGHIJKLMNOPQ
EDCBABCDEFGHIJKLMNOP
FEDCBABCDEFGHIJKLMNO
GFEDCBABCDEFGHIJKLMN
HGFEDCBABCDEFGHIJKLM
IHGFEDCBABCDEFGHIJKL
JIHGFEDCBABCDEFGHIJK
KJIHGFEDCBABCDEFGHIJ
LKJIHGFEDCBABCDEFGHI
MLKJIHGFEDCBABCDEFGH
NMLKJIHGFEDCBABCDEFG
ONMLKJIHGFEDCBABCDEF
PONMLKJIHGFEDCBABCDE
QPONMLKJIHGFEDCBABCD
RQPONMLKJIHGFEDCBABC
SRQPONMLKJIHGFEDCBAB
TSRQPONMLKJIHGFEDCBA
a=[1,2,3,3.3]
for i in a:
    print(i,end='')
1122333.33.3
print(chr(65))
A
m,n=map(int,input().split())
s=0
for i in range(m):
    k=65+i
    for j in range(n):
        print(chr(k), end='')
        if k==65:
            s=1
        if s==0:
            k=k-1
        else:
            k=k+1
    s=0
    print()
20 20
ABCDEFGHIJKLMNOPQRST
BABCDEFGHIJKLMNOPQRS
CBABCDEFGHIJKLMNOPQR
DCBABCDEFGHIJKLMNOPQ
EDCBABCDEFGHIJKLMNOP
FEDCBABCDEFGHIJKLMNO
GFEDCBABCDEFGHIJKLMN
HGFEDCBABCDEFGHIJKLM
IHGFEDCBABCDEFGHIJKL
JIHGFEDCBABCDEFGHIJK
KJIHGFEDCBABCDEFGHIJ
LKJIHGFEDCBABCDEFGHI
MLKJIHGFEDCBABCDEFGH
NMLKJIHGFEDCBABCDEFG
ONMLKJIHGFEDCBABCDEF
PONMLKJIHGFEDCBABCDE
QPONMLKJIHGFEDCBABCD
RQPONMLKJIHGFEDCBABC
SRQPONMLKJIHGFEDCBAB
TSRQPONMLKJIHGFEDCBA

01字串

for i in range(32):
    t1=i
    temp=[0]*5
    for j in range(5)[::-1]:
        if 2**j<=t1:
            temp[j]=1
            t1=t1-2**j
    print(''.join(map(str,reversed(temp))))
        
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111

闰年判断

a=int(input())
if (a%4==0 and a//4!=0) and not(a%100==0and a//100!=0) or(a%400==0and a//400!=0):
    print('yes')
else:
    print('no')

5
no

阶乘计算

n=int(input())
res=1
for i in range(1,n+1):
    res*=i
print(res)
10
3628800
def op (k,res):
    n=len(res)
    temp=0
    for i in range(n):
        t=res[i]*k+temp
        res[i]=(t%10)
        temp=t//10
    while temp!=0:
        res.append(temp%10)
        temp=temp//10
    return res
n=int(input())
res=[1]
for i in range(1,n+1):
    res=op(i,res)
p=res[::-1]
print(''.join(map(str,p)))
    
10
3628800

高精度加法

a=int(input())
b=int(input())
print(a+b)
20100122201001221234567890
2010012220100122
20100122203011233454668012
a=list(map(int,list(input())))
a=a[::-1]

b=list(map(int,list(input())))
b=b[::-1]
a_len=len(a)
b_len=len(b)
i=0
j=0
res=[]
temp=0
while i<a_len or j<b_len:
    if i<a_len:
        t1=a[i]
    else:
        t1=0
    if j<b_len:
        t2=b[j]
    else:
        t2=0
    t=t1+t2+temp
    res.append(t%10)
    temp=t//10
    i+=1
    j+=1
if  temp!=0:
    res.append(1)
p=res[::-1]
print(''.join(map(str,p)))  
20100122201001221234567890
2010012220100122
20100122203011233454668012
21086645433211030222100102

Huffuman树

n=int(input())
list_=list(map(int,input().split()))
res=[]
while len(list_)>1:
    a1=min(list_)
    list_.remove(a1)
    a2=min(list_)
    list_.remove(a2)
    list_.append(a1+a2)
    res.append(a1+a2)
print(sum(res))
5
5 3 8 2 9
59

2n皇后问题

# n=int(input())
# nn=[]
# nn.append(list(map(int,input().split())))
def m():
    n=int(input())
    nn=[]
    for i in range(n):
        nn.append(list(input().split()))
    res=[[]]
    
    r=0
    def helper(i,temp,nn,col,z,f,l):
        if i==n:
#             print('t',temp)
#             print('r',l,res[l])
            res[l].append(temp)
            return 
    
        for j in range(n):
            if (j not in col)and ((i+j) not in z)and ((i-j) not in f )and nn[i][j]=='1':
                helper(i+1,temp+[list(''.join(nn[i][:j])+'2'+''.join(nn[i][j+1:]))],nn,col|{j},z|{i+j},f|{i-j},l)
    helper(0,[],nn,set(),set(),set(),0)
    #print('res',res)
    for k in range(len(res[0])):
        res.append([])
        helper(0,[],res[0][k],set(),set(),set(),k+1)
        #print(len(res[k+1]))
        r+=len(res[k+1])
    return r
print(m())

        
4
1 0 1 1 
1 1 1 1
1 1 1 1
1 1 1 1
0

报时助手

h,m=input().split()
m=str(int(m))
h=str(int(h))
map_={'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'}
if int(h)<=20:
    str1=map_[h]
elif (int(h))>20 and int(h)<30:
    str1='twenty'+' '+map_[str(int(h)%10)]
if m=='0':
    str2='o\'clock'
elif (int(m))>20 and int(m)<30:
    str2='twenty'+' '+map_[str(int(m)%10)]
elif (int(m)//10)==3:
    str2='thirty'+' '+map_[str(int(m)%10)]
elif (int(m)//10)==4:
    str2='forty'+' '+map_[str(int(m)%10)]
elif (int(m)//10)==5:
    str2='fifty'+' '+map_[str(int(m)%10)]
else:
    str2=map_[m]
print(str1,end=' ')
print(str2,end='')
20 21
twenty twenty one

回形取数

def op(state_i,state_j,i,j):
    if state_i==1:
        i+=1
    elif state_i==2:
        i=i
    elif state_i==3:
        i-=1
    if state_j==1:
        j+=1
    elif state_j==2:
        j=j
    elif state_j==3:
        j-=1
    return [i,j]
m,n=map(int ,input().split())
map_=[]
for i in range(m):
    map_.append(list(input().split()))
i=0
j=0
statei=[1,2,3,2]
statej=[2,1,2,3]
state_i=0
state_j=0
# label=0
while True :
    print(map_[i][j],end=' ')
    map_[i][j]='#'
    t1,t2=op(statei[state_i],statej[state_j],i,j)
    if t1==m or t2==n or map_[t1][t2]=='#':#(i==m-1 and (j==0 or j==n-1))or (j==n-1and(i==0 or i==m-1))
#         print(i,j)
        state_i=(state_i+1)%4
        state_j=(state_j+1)%4
        i,j=op(statei[state_i],statej[state_j],i,j)
        if i==m or j==n or map_[i][j]=='#' :#(i==m-1 and (j==0 or j==n-1))or (j==n-1and(i==0 or i==m-1))or
            break
        else :
            continue
    i,j=op(statei[state_i],statej[state_j],i,j)
        
3 2
1 2
3 4
5 6
1 3 5 6 4 2 

龟兔赛跑预测

v1,v2,t,s,l=map(int ,input().split())

l1=0
l2=0
l1time=0
l2time=0
while True:
    dettime=(t-l1+l2)/(v1-v2)
    #print('dettime',dettime)
    detl1=dettime*v1
    #print('detl1',detl1)
    detl2=dettime*v2
    #print('detl2',detl2)
    if l1+detl1>=l or l2+detl2>=l:
        l1time+=(l-l1)/v1
        l2time+=(l-l2)/v2
        if l1time>l2time:
            print('T')
            print(int(l2time))
            print('l2',l2)
            break
        elif l1time==l2time:
            print('D')
            print(int(l1time))
            break
        else:
            print('R')
            print(int(l1time))
            break
    else:
        l1+=detl1
        if l2+detl2+s*v2>l:
            print('T')
            l2time+=dettime+(l-(l2+detl2))/v2
            #print(int(l2time))
        l2+=detl2+s*v2
        l1time+=dettime+s
        l2time+=dettime+s
        
25 10 20 3 100
dettime 1.3333333333333333
detl1 33.33333333333333
detl2 13.333333333333332
dettime 2.0
detl1 50.0
detl2 20.0
dettime 2.0
detl1 50.0
detl2 20.0
R
9
import math
v1,v2,t,s,l=map(int ,input().split())
l1=0
l2=0
l1time=0
l2time=0
while True:
    if l1-l2>=t:
        l2+=s*v2
        l1time+=s
        l2time+=s
    dt1=l1time+(l-l1)/v1
    dt2=l2time+(l-l2)/v2
    l1+=v1
    l2+=v2
    l1time+=1
    l2time+=1
    if l1>=l or l2>=l:
#         if l1>l2:
#             print('R')
#             print(l1time)
#             break
#         elif l1==l2:
#             print('D')
#             print(l1time)
#             break
#         else:
#             print('T')
#             print(l2time)
#             break
        if dt1>dt2:
            print('T')
            print(math.ceil(dt2))
            #print('l2',l2)
            break
        elif dt1==dt2:
            print('D')
            print(math.ceil(dt1))
            break
        else:
            print('R')
            print(math.ceil(dt1))
            break

50 20 25 4 100
T
5
l2 120

芯片测试

n=int(input())
map_=[]
dt={}
for i in range(n):
    temp=list(map(int ,input().split()))
    map_.append(temp)
    dt[tuple(temp)]=dt.get(tuple(temp),0)+1

a=max(dt,key=dt.get)
# b=max(dt.values())#,key=dt.values()
print(b)
for i in range(n):
    if tuple(map_[i])==a:
        print(i+1,end=' ')
    
    
3
1 1 1
1 1 1
1 11 
2
1 2 

python 字典获取最大和最小的value

my_dict = {'x':500, 'y':5874, 'z': 560}  
  
key_max = max(my_dict.keys(), key=(lambda k: my_dict[k]))  
key_min = min(my_dict.keys(), key=(lambda k: my_dict[k]))  
  
print('Maximum Value: ',my_dict[key_max])  
print('Minimum Value: ',my_dict[key_min])

可以用max(dict,key=dict.get)方法获得字典dict中value的最大值所对应的键的方法,max(dict, key)方法首先遍历迭代器,并将返回值作为参数传递给key对应的函数,然后将函数的执行结果传给key,并以此时key值为标准进行大小判断,返回最大值

sorted函数使用

a=[1,2,3]
sorted(a)
[1, 2, 3]
L=[('b',2),('a',1),('c',3),('d',4)]

sorted(L, key=lambda x:x[1]) 
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
from operator import itemgetter, attrgetter
L=[('b',2,2),('a',1,1),('c',3,3),('d',4,4),('e',4,3)]
print(sorted(L, key=lambda x:(x[1],x[2]) )) 

[('a', 1, 1), ('b', 2, 2), ('c', 3, 3), ('e', 4, 3), ('d', 4, 4)]
sorted(L, key=itemgetter(1,2)) 
[('a', 1, 1), ('b', 2, 2), ('c', 3, 3), ('e', 4, 3), ('d', 4, 4)]

FJ的字符串

chr(65)
'A'
N=int(input())
def op(n,s):
    if n==N+65-1:
        print (s+chr(n)+s)
        return
    op(n+1,s+chr(n)+s)
op(65,"")
3
ABACABA

Sine之舞

N=int(input())
sin='sin()'
An=['']*N
def op(N,s):
    if N==1:
        return sin[0:-1]+'1-'+s+sin[-1]
    if N%2==0:
        return op(N-1,sin[0:-1]+str(N)+'+'+s+sin[-1])
    else:
        return op(N-1,sin[0:-1]+str(N)+'-'+s+sin[-1])
# a=op(N-1,sin[0:-1]+str(N)+sin[-1])
#print(a)
An[0]='sin(1)'
for i in range(1,N):
    An[i]=op(i,sin[0:-1]+str(i+1)+sin[-1])
    #print(i+1,An[i])
n2=N
def op2(n,s,n2):
    if n==N-1:
        print(s+str(An[n])+'+'+str(n2))#+'+'+'str(1)
        return 
    op2(n+1,'('+s+An[n]+'+'+str(n2)+')',n2-1)
op2(0,'',n2)
1
sin(1)+1

数的读法

s=input()
map_={'0':'ling','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu'}
map2=['','shi','bai','qian']
s1=''
s2=''
s3=''
n=len(s)
nl=[0]*4
for i in range(4):
    if n<=0:
        break
    nl[i]=4 if n>=4 else n
    n-=4
s1=s[0:nl[3]]
s2=s[nl[3]:nl[3]+nl[2]]
s3=s[nl[3]+nl[2]:nl[2]+nl[1]+nl[3]]
s4=s[nl[2]+nl[1]+nl[3]:nl[2]+nl[1]+nl[3]+nl[0]]
res=[]



def op(s,res,map_,map2):
    j=0
    res=[]
#     print(s1,s2,s3)
    for i in s[::-1]: 
        if i=='0':
            
            if  res and res[-1]=='ling':
                j+=1
                continue
            if not res:
                j+=1
                continue 
            else:
                res.append(map_[i])
                j+=1
                continue
        res.append(map2[j])
        res.append(map_[i])
        j+=1
    if res and res[-1]=='yi' and res[-2]=='shi':
        del res[-1]
    return res





r4=op(s4,res,map_,map2)
res+=r4

if nl[1]>0:
    res.append('wan')
    r3=op(s3,res,map_,map2)
    if r3:
        res+=r3
    else:
        res.pop(-1)
    
    
if nl[2]>0:
    res.append('yi')
    r2=op(s2,res,map_,map2)
    if r2:
        res+=r2
    else:
        res.pop(-1)
    
    
if nl[3]>0:
    res.append('wan yi')
    r1=op(s1,res,map_,map2)
    if r1:
        res+=r1
    else:
        res.pop(-1)

res=reversed(res)
a=' '.join(res).split()
print(' '.join(a))
2000000000000
er wan yi

完美的代价

n=int(input())
l=list(input())
# print(l)
def find(target,l,n):
    i=n-1
    while i>=0:
        if target==l[i]:
            return i
        i-=1
def swap(i,j,l):
    if i<=j:
        temp=l[i]
        t=j-i
        for k in range(t):
            l[i+k]=l[i+k+1]
        l[j]=temp
#     else:
#         t=i-1
#         for k in range(t):
#             l[i-k],l[i-k-1]=l[i-k-1],l[i-k]
    return l
k=0
res=0
label=0
while k<=(n//2-1):
    j=n-1-k
    if l[k]==l[j]:
        k+=1
    else:
        i=find(l[k],l[k:j+1],n-2*k)+k
        if i==k:
            if n%2==0:
                print('Impossible')
                label=1
                break
#             elif label==1:
#                 print(k)
#                 print(l[k])
#                 print('Impossible2')
#                 break
            else:
#                 print(k)
#                 print(l[k])
#                 l=swap(i,n//2,l)
#                 res+=n//2-i
                l=swap(i,i+1,l)
                res+=1
        else:
            l=swap(i,j,l)
            res+=j-i
            k+=1
# b=l[n//2+2:][::-1]
# if l[0:n//2]==b:
#     print('meiwenti')
# print(n//2)
# print(l[n//2])
# print(l[n//2+2])
#print(l)
if label==0:
    print(res)   
# print(''.join(l[3592:4407]))
# print(l[3908])

7847
fdkzklcfzyuhivkbxnocsizsvkppdyuxaznbcxjmihvtrdpbepgjcffpkjwybhslljvwwvpzmvxxjozykikfwbrddjtbdebxvvttbnqaarmkvdvanbdhdchyilcmodoiiunqtikddvpmrkpiztampaagfukaslozztwsyteiiyksmwntlrxczldclgarwkaypxujkhtacmlnprmvkdvdbxsysoglpdrbmuhfceutkrxjhqrxfoaecdgdsalqrpxplvnctwamwaajfapqmezxikcyeegyocyiqiltmcdxpdfhjdbhnlivdwkygctihktsutwjplqhepzkrtolgtqmcmwvpbzlhvrwkztgtonhelqutjomhalxbrwzjqpsodzmjsalxvgxgdnutaseseqoysqzrgyetikmvzklphyfrrihugwnhuzidyaqpbodphhyjiecmryvtgyfsgnaxuvvtoamfuwrlzqkpevigdngbckrwvjvytebhmcvrovixxxtqalwliiapmwifezoperwwypwwghtuswkjvnotxegtqzpvfsauydgpklzotupvnhjcjyldjdgtbipzmnszkqpquvusvgdvfwptpzkisxkvhzposvvnxuhayphfplrdmouyvqmtvmrqxnwykrwxhnnnefmkituyttxeqhrjikemwqylveegrwlvlqdzdwuzjcmpveuscpbcnidfsxbluxxxaepjaqzsaiigzgpxiuyiognquvveszucyiuwpqesmhyfjorspusfvuqyenqlryragxnihdegqllgqoyfgwxaxegenleinvxkiftnkjiipdeqxlakjqufihkjxsupuvontntlsqiswrmovsipyulyqcsxnvjnaqttcblnkejdhjcibayfewgbiuekjlvdysnvolskbptfshwabpysqereamxtoydkrbswowuiyfwfvbfakkgtxnuqwmxwmatbnfchjaampuwmzcmoddmahtavzokckryrizzfxbobwnnzxvghcypcamxuhzbjynlzlkhzjdtgwbdajhxhajdxbedxkpqmbsfcaxtwsegabxvvadlerkbeqpyccrjewzkilrgyzdyiojjrsukewvtenrxzsdlpmbznmkbuotctowchgcwrwbqvfywdsebrjinhahgkasxbirdvilfdazgxlezknwjuhxkafntttljzzkubhgmtwqwokiatoqflpckkmkhfgrohhmalstdmyxuwnanhfbdgtrrsqxxqyctvnaykbzkirloozmhuvrvztdrvapcyubiwxnetdyzdbyihbhjqynumfdkwpzvcpupzouklvwsccgewnmorfiuqatnwmnaozdvzycpvxmrilgsykximfcitsnzsprzduxhwixagyfuecquctgzkopgaxmyvsfxyijfjjgzwhcdivrfmvtkubegkfbrynqxfvsvnzafclkfszwxlvcvikovwasqnixexilkpubsdsozccuoyxtpszkmsmuzmgttkkfhgsuaicsbhzpxzrneomnejqhkfmltwhkvmpefqzdtmadxgtscbdftrkjayulvhlpcprnxgryadrkwoarjgzuatkheuvtdtxiknsfqyuqhowbmnuysnamxenzauxgmlpaltffnaiadgqnpswecimeroavjdlryjtzgznhceqlengueuwdwegjxbjdspirxwegzzpuvujlugrlbfqmlifgsnedlsjrthcfedqpfzayviuigrgqjtqbcimxewmxnidjgjnqshubkwjilnhlaeeyysgxihknkdjoqtibhlfnkfsshgskxyptlnwyokvnruqrtkfliuaknhcmsqmaabvpskppbcwjtblwvfhyyquwkqnidonifgdtivsmcijpdxnsjytxtnmyxvzxrkkdqcusfgsrxwervarycsscpogymccfrjpctwdpcfkkfchiflzitbwazwurzryrmbyvsgnibmmldvrtjeywdydahixdntvfxxyqvhdsofxxbwqkggynybaaoqkyfafjipuqvexmshifjxjgznhpzwiytxkvofxidnfgvgnvpodpzvspntrrsdwhyhsucwjoenayigtmqiaxmlmamohmnrxjiomjvphxslfwrdmltvzrxnrvjlxuyubcwjulunfegfypwxcwpoduekwbjfhhwdijmymzhecummckwegggsjauahmocdwqzyzooylyutivttzebksukgmavbtsmlzujzdyeikabrqrixkismlxthotgkgaoxelhzqknmguwhuqzswalhprdbarubzsbsathyxpqrzihlkepgnnumbozxmbmagwjnvpiqhusbmemaivopofekcervnecptgqsyygxdaiqygvymbhralfqpyzbokmsmknxpibhekqmihvpgqxpmbktqiifcsugzldchfygpdysxmnhilvaaoarcwyxumrwotahailehxbyqgkkutflczojbzttwlgqbobizvsuzxiigzablwqxvvjvxenvuzfwlzijarcoywnuzejoihkerjoivvnaywpgvgmgcqfhexkonshgmgaemudywivlqghwswpjyvktdhnhigizzhiencsrehqvaznmvbvgzdesaeuetfykpmupvxcpbflhnipnhawxiikrrztznzewixwipfsmozbxyswsmymcpwckizzpbbyzamudnoxxhhfitrvzariqiltmhbpiostorafdxodmqseoiefzrmlxgbrniuuzexvhsbnybwrseygkogzghwoicblwsbdgcasydgxcxvptmtkixpwbdzfjhkeeevlqygdudcqxrivhejrctainfzjazvmfmelwulnaxbczealkqfiqwsfjhwprafxwmdrhbbourjpslwrjlhdsptzakqqcwsusgiozuuocftlsupxnetqhealgamhowyoabvacgjhezhrjpssmeyvhvslwzakahkeiloriihntexdphiurvcerwcwkftqwszmtmdwadjbcpxljduejbpazsgluoqnrcouomavbkxryzlvrhxmpstgdxbpsawipusnatocxsoqulkbxevqjbzwecymtydtjjypewmhhhmjpaihybuxiryuqgbjnyspammyzaefvlzmgvtqrvlvzhbxsesqbaghccfdtirwauvweymioyznrgpooqorcmwmzpkyfzgickjqtjwghwtpchudyscinfgjfkkzwlriopfhmjupnpktiakbkttwubfzrdfjdrqibfykggaraoqyswobpngmjjuywxrqpobckbpbtdzqdcgdyafkoflmjxhdljqvtvmdbiyoafmigwxhevfpxucnncwydaiqcnwjrgjxmckkuiaokysatipfylmvflaeqfhrgbhqdvinpbrfwyofmyggbicafcutzucqzxxlsoycvaklcubhbbxwzrhpodloejherwttletirwbsqvbexbvmoeucjogjamnczfaxatywoccklrlkiylgviqhnpqorhylkirlsuvdyqtbcgyqrxoiheicokbavpuwsahlankcggcrahqhvrilyphmtwlpwydfxzvahbbmmkmeigwrxcjomiabkacbxremziklosvbzivmqghrlvvnoarjyxgqsktjpqfvrgpelscokehfjqkrppiwjvygnohkzaqewkkicmplyxpboacgqzdlmtzkgslfcbfdjcrsgokqprdrvquyjpyubienziuldnkxcjciihyszzswkjojeegzgamuuzatubkvdjgurflccyxletmnpbwadsakhickjmvqovwrhmmkwrslbgxydazcpffysbavvieuqetcxipnksjahfzzkmnvahzxovgrcnbvtrdkppmevuscrwlkivmrckwmfsugpizyooqjmbnscraygtujpjjkisytxvqnqyuvqmbvsxdtlriwbrkcdjphgmfqbdisgckrvkxsjnaqeslahrjblequaukjqsbrpiziiqzpkuhjgerhdrirksbhhrvtklrnyykiomxqkpcelkphroqsuvkmivabfxpuahnpqzekwsnrkxqtzhyxfcqlkhudnqoplpcbcyfycmjrmrrbknmsgxckeedhwmmvyugkuqflmtdbhflaujjpnkteeuehxcduiknevguakcfdxubvbppygvanmjnjtmznxirgozwmatnebkseccjnnhoqqdezyygoncmbahbphczsdohgivbtcxdiiljcknizdrsicgrbsefpurbpxjtqnesuojdyvjujbxroxlsxszugihenfpsqlycnoworgrnyjzrknxwldsluuelfqdqsholeoocmvdauugrkdyawfugtmdtmmukvppjlonqidldwxbaeccoehzfyjdlwwzkucephrbahldykixpsskoayumirbxvfzouupznxkvcwdhmqqrfkjmjbyfhykrbirkhekuzlmimapqintpzvgnplovkkqkmzbtlcjiwtgqwvqhdsprxcsgawtovdrltjmyztxrtggcmrubdtltkvmgubsnrhaunvnawexaqytxxalpdconpjcmmeqrhdvwmviwjjizaqrvaftjvbskmtszgycqflgymeipkdsfguftmcbxspeorpnizxzrwszbatgyyygriwpjrpaqwcrykytihsmwaexuqqihxidqtyzalhkcwovezzjknnvhxeazehwoubvpivltgzphqisdlgkkqmegmuisyvjieakiproivnaeuynmjlxoypahxirmzvinpcxklhzhulktsnuhfinjnqozamcxgggjizvlimhupyywinbnockxtaxfmeukildeyqvfumnpdduujaaaxbdsatifqbqqtviimsmbyegsstkhcdtjtabdttbjvqynxzhnfelongxmofcenpnotfvnbmqyeeavqlmzqxnmgdikibxuwbuugtdikkxmcbhtgnlrzxmpskllrytywfveqbbbaauxyvljdyctkvngmkkvzzpnihsymwdlotwvxujmqaqskhabyjcdosdjgalqiplkvhxnazezjbwhymoincwnplbpsdadibmcyovihrpcmbhtwvceyxcousqikemnpioecwzbmmjdbxyaljsmkulvsvoozmujsloxlwsippcwlaoxdgjtyaiolkyniniiakpksqqziutheuqqblfiifccuxcqsxzqahfwyocvwlflwwiesqpkhleyfhjqsbmvwecuwdurnitvmrpohnmqbvmgcuutvdhqzcyibdzlzifxcxvgqtnevvtfktmmqpvvypliyesejxpivylunocnwufizulnwpqnmfavzgkufoxaierswyiiyzbolmqedcuihsywgcqkxaenaqljvrwnmuojckyifjwljzdzbzlgrjevgksaymfaaeahcrmibbszzoxgnwqfyfijrfurliizjtbijwgdskicqnmuhdzypxuvovzqchxrwihstgbviakungphxerhijjrhmhbdmsgwfyxjdhiaxkthgkatvlqegcovxilthhniboaqnwvizabxwlmhyaatqddfwdxfrsrzylimkaimqbikonagevxwiawjwywxziftbzxlxdezrldikqhyjdpyzqdlrrudcefjaswaohhvfasnkurcaxwoiurrgqzrxtrcfiuvitzoqpglmgbpmeekjbywcgzbrpglgujjhfrixloodpupuywaddmkrjkylxdanfjlpsuetrddqndqpfumfffxlzhttdklwktuwzktrmwtsfemhycbhhltyoiwlbroutrvtwktwghemivakwyzwgixvwhoqxuovxslkkhziievwwxafimdhtzccentfyyqbalinpxsryegitavfkgwvykhzcmtopovpzfezmllljqbwwgrvkjgywsisowhcgvsxwtgfvectfpodpptgsgvqwptprpmzdykyuzjxlnibmzzpjeawmgiamrvfqrgybvtlqxcwjmlcoaiflyllvluzzxtslaaxqexzdxdnvrcluspopxvxkycecmjlyfnvrwdwnkxnfmaqrlckuwzwgxkxsakqgfmgvhlwrtkustuwokizjksuogdqqwhyonkcwuquhidvaiepiravjjihbvlsujevpsawagecqvcollazzvthgxnrrozxorzjgjrqzblrfxzqndfavhjvaiftozcldlcxddtatatxndoboxlqcysmotxhxmcdtztgcvybdiusuebvuefozwzehnxzjbxjutwaabqxfuiomqznfysimtprihmbtajodsrntqvjgyubexnrhfgelhbrmexgwiuuuomxvamgadrrszdqghsntsfhsfgliuaqvemewxbsfcvmvviqejevkloomdbdjysawqpiorvzrhrgsnqoeamqnkttzynsrsfhkamdswmnfuytykrzkngcynlowepabfbfuptbyysafaeivimsksbwthkbfrxkhmvwspwyltjwmrsmdfmocsnszlacqheorueucwtwwthymjegpynwdumrztwpxhhsonodwszfzhqundwqdmqspfwwhgoodmgcwidgyzmjwjlostsxtrmukxcfsiudrmkmqigzpyiswiyveufyvvqufjxhalgdejwpmhswzchfbspkcoyrpttrxuwcebcjxogsqgesheujpcmeqfwpmrntkutsvpuwdsqpsxtwkzrwppmyatibvpgcvnjfyzlszyldesviqhetixjqisoclwrdmfxtwoddjegabhwnaexvpvpahvtkezjhxihnusccujsffzsansuiobrrezbtzpnhmzjwuszkpckejshhvyncwznklgklsmakmbkqwwcuejswasvtptlgnqzvyuftzvrldutawjyyhduwpliabwwpyxvqtrwuxvzgfubvpadpzppvnlzmqqtdekmzknmjglhgnpvifuvwrsbiudivzolvtqidhrklyyxcjhlsqcnxrbtikctwxmniknmlpttoormkwxmslrdpmucjxixnyfbaznzwtkhxhsiojwkdvgkmeeaoqatxtxtpbwllrwwgxnufvtjhmtkeaurmtqisniaiglxaerpxlkdwnqowkcpzycimnhxosoyfdadluuopqgwwmzshjfuiqwhtjaxeayhtlugvrclkfymjubuhsanfpwscyexyaxvxoxrurbsfrwxrliamdcwqqmivhafpxbvsvsopbprxfkrwaeatepgnvcxhmxbvjadmmnflmhmhypaznzptoewprirvxxciheutbttrxbhtcoyjlceidlylvrpzeitzkgnhopdgkdztjovsyntcxyjjcolcdpipoxnnbxdwppoyulptnblrarzvjosnximcsoobaioeitxxjlbnqsqvcxblwmuzynunoisylhaezvikfudtfdzilbmvrcwniphvauywdhytpvfbiqndwjowxfapauryferyixvvpnqnrclyxbwsljjeyszcnoaucyhunxkieghvmwhlhyhxowtmsfpuctpphkgxhsikqmehzivuqgzxsdysedxzkltdfqjdaadrvynpyhwaudezwvquinmpnkjvkwtlhkfkxiqllvtrxmjbrfbgvsuqihpwhwopmagizhuknlushnzgiknyublzpnajxcdchfkkodrgqfjlnjjeccdbbhfvalpwrckqntrankglwikiekqzfgweuukfriugiluwoeiwwjzgifmyuwzvyeqvovdynpfsmejzsttuvbtklzxynvauxsgbewrhrvipn
460825
7999-1-3592

4406
a={'a':2,'b':3}
list(a.keys())
['a', 'b']

矩形面积交

x1i=list(map(float,input().split()))
x2i=list(map(float,input().split()))
# if x1[2]<x1[0]:
#     x1[0],x1[2]=x1[2],x1[0]
#     x1[1],x1[3]=x1[3],x1[1]
# if x2[2]<x2[0]:
#     x2[0],x2[2]=x2[2],x2[0]
#     x2[1],x2[3]=x2[3],x2[1]
x1=[min(x1i[0],x1i[2]),min(x1i[1],x1i[3]),max(x1i[0],x1i[2]),max(x1i[1],x1i[3])]
x2=[min(x2i[0],x2i[2]),min(x2i[1],x2i[3]),max(x2i[0],x2i[2]),max(x2i[1],x2i[3])]
def s(x1,x2):
    x=abs(min(x1[2],x2[2])-max(x1[0],x2[0]))
    y=abs(min(x1[3],x2[3])-max(x1[1],x2[1]))
    res=float(x*y)
    if res>=0:
        print('{:.2f}'.format(res))
    else:
        print(1)
        print('{:.2f}'.format(0))
if (x1[0]>=x2[0]and x1[0]<=x2[2]and x1[1]>=x2[1]and x1[1]<=x2[3])or(x1[2]>=x2[0]and x1[2]<=x2[2]and x1[3]>=x2[1]and x1[3]<=x2[3]):
    print('zhen')
    s(x1,x2)
elif (x1[2]>=x2[0]and x1[2]<=x2[2]and x1[1]>=x2[1]and x1[1]<=x2[3])or (x1[0]>=x2[0]and x1[0]<=x2[2] and x1[3]>=x2[1]and x1[3]<=x2[3]):
    print('dao')
    s([x1[2],x1[1],x1[0],x1[3]],[x2[2],x2[1],x2[0],x2[3]])
else:
    print(2)
    print('{:.2f}'.format(0))
# else:
#     s([x1[0],x1[3],x1[2],x1[1]],[x2[0],x2[3],x2[2],x2[1]])
283323.2393 2938832.3994 29838432.38288 983723.828
27783.84384 8793002.2 3995852.3884 2928344.2
dao
312660026120.76

这道题刚开始思路错了下面是正确的

x1i=list(map(float,input().split()))
x2i=list(map(float,input().split()))
x1=[min(x1i[0],x1i[2]),min(x1i[1],x1i[3]),max(x1i[0],x1i[2]),max(x1i[1],x1i[3])]
x2=[min(x2i[0],x2i[2]),min(x2i[1],x2i[3]),max(x2i[0],x2i[2]),max(x2i[1],x2i[3])]
xl=max(x1[0],x2[0])
xr=min(x1[2],x2[2])
yup=min(x1[3],x2[3])
ydown=max(x1[1],x2[1])
x=xr-xl
y=yup-ydown
if xr>xl and yup>ydown:
    print('{:.2f}'.format(x*y))
else:
    print('{:.2f}'.format(0))
1 1 4 5
1 1 4 5
12.00

矩阵乘法

N,M=map(int,input().split())
A=[]
for i in range(N):
    A.append(list(map(int ,input().split())))
def op(A,B,N):
    re=[[0]*N for _ in range(N)]
    for i in range(N):
#         temp=A[i]
        for j in range(N):
            for k in range(N):
                re[i][j]+=B[i][k]*A[k][j]
    return re
B=[[0 for j in range(len(A[0]))] for i in range(len(A))]
for i in range(N):
    B[i][i]=1
for i in range(M):
    B=op(A,B,N)
for i in range(N):
    print(' '.join(map(str,B[i])))
2 2 
1 2
3 4
7 10
15 22

分解质因数

a,b=map(int,input().split())
map_={1:'1',2:'2'}
def op(k,map_):
    for i in range(2,k):
        if k%i==0:
            map_[k]=map_[i]+'*'+map_[k//i]
#             print(k,map_[k])
            return
    map_[k]=str(k)
#     print(k,map_[k])
for i in range(1,b+1):
    op(i,map_)
# print(map_)
for i in range(a,b+1):
    print(str(i)+'='+map_[i])
    


3 10
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5

字符串对比

s1=input()
s2=input()
if len(s1)!=len(s2):
    print(1)
elif s1==s2:
    print(2)
elif s1.lower()==s2.lower():
    print(3)
else:
    print(4)
BEIjing
beiJing
3

时间转换

t=int(input())
s=t%60
t=t//60
m=t%60
t=t//60
h=t
print(str(h)+':'+str(m)+':'+str(s))
5436
1:30:36
发布了154 篇原创文章 · 获赞 11 · 访问量 5868

猜你喜欢

转载自blog.csdn.net/weixin_45569785/article/details/105452385