# coding = utf-8defmain(nums):# 16进制对照字典
num_dict ={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
n =len(nums)
res =0for i inrange(2, n):
res += num_dict[nums[i]]*(16**(n-i-1))return res
if __name__ =='__main__':whileTrue:try:
nums =input()print(main(nums))except:break
# coding = utf-8defmain(nums):
i =2# 采用递归思想,从最小质数i=2开始不断进行整除,并更新nums的值while nums >=i and i * i <= nums:while nums % i ==0:
nums = nums // i
print(i, end=' ')
i +=1# 最后一个质数因子,若不是1,则输出if(nums -1)!=0:print(nums, end =' ')if __name__ =='__main__':
nums =int(input())
main(nums)
# coding = utf-8defmain(index_value, kv_dict):
k, v =int(index_value.split(' ')[0]),int(index_value.split(' ')[-1])if k in kv_dict:
kv_dict[k]+= v
else:
kv_dict[k]= v
kv_dict =dict(sorted(kv_dict.items(),key =lambda x:x[0]))return kv_dict
if __name__ =='__main__':
n =int(input())
kv_dict ={}for i inrange(n):
index_value =input()
kv_dict = main(index_value, kv_dict)for k, v in kv_dict.items():print(k, v)
# coding = utf-8defmain(nums):
temp =[i for i instr(nums)][::-1]
res =[]for i in temp:if i notin res:
res.append(i)if res[0]=='0':returnint(''.join(res[1:]))else:returnint(''.join(res))if __name__ =='__main__':
nums =input()print(main(nums))
# coding = utf-8defmain(n):if n <1or n >1000:return'输入有误'
input_string_list =[]for i inrange(n):
ch =input()iflen(ch)>100:return'输入单词有误'
input_string_list.append(ch)
input_string_list.sort()for i in input_string_list:print(i)if __name__ =='__main__':
n =int(input())
main(n)
16 购物单
王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类
n, m =map(int,input().split())
primary, annex ={},{}for i inrange(1,m+1):
x, y, z =map(int,input().split())if z==0:#主件
primary[i]=[x, y]else:#附件if z in annex:#第二个附件
annex[z].append([x, y])else:#第一个附件
annex[z]=[[x,y]]
m =len(primary)#主件个数转化为物品个数
dp =[[0]*(n+1)for _ inrange(m+1)]
w, v=[[]],[[]]for key in primary:
w_temp, v_temp =[],[]
w_temp.append(primary[key][0])#1、主件
v_temp.append(primary[key][0]*primary[key][1])if key in annex:#存在主件
w_temp.append(w_temp[0]+annex[key][0][0])#2、主件+附件1
v_temp.append(v_temp[0]+annex[key][0][0]*annex[key][0][1])iflen(annex[key])>1:#存在两主件
w_temp.append(w_temp[0]+annex[key][1][0])#3、主件+附件2
v_temp.append(v_temp[0]+annex[key][1][0]*annex[key][1][1])
w_temp.append(w_temp[0]+annex[key][0][0]+annex[key][1][0])#3、主件+附件1+附件2
v_temp.append(v_temp[0]+annex[key][0][0]*annex[key][0][1]+annex[key][1][0]*annex[key][1][1])
w.append(w_temp)
v.append(v_temp)for i inrange(1,m+1):for j inrange(10,n+1,10):#物品的价格是10的整数倍
max_i = dp[i-1][j]for k inrange(len(w[i])):if j-w[i][k]>=0:
max_i =max(max_i, dp[i-1][j-w[i][k]]+v[i][k])
dp[i][j]= max_i
print(dp[m][n])
# coding = utf-8import string
defmain(input_string):
target_dict ={'1':1,'abc':2,'def':3,'ghi':4,'jkl':5,'mno':6,'pqrs':7,'tuv':8,'wxyz':9,'0':0}
res =''
all_letters = string.ascii_letters
for i in input_string:# 判断是否为字母if i.isalpha():# 大写转换为后移一位小写if i.isupper():# Z的话需要直接替换为a,其他进行移位并变为小写if i =='Z':
i ='a'else:
i = all_letters[all_letters.index(i.lower())+1]
res += i
# 小写转换为数字else:for k in target_dict.keys():if i in k:
res +=str(target_dict[k])# 非字母直接拼接else:
res += i
return res
if __name__ =='__main__':whileTrue:try:
input_string =input()print(main(input_string))except:break
def sort_pic():
pic = input()
pic_list = sorted(pic)
if len(pic_list)>1024:
return '字符串长度错误'
return ''.join(pic_list)
if __name__ == '__main__':
while True:
try:
print(sort_pic())
except:
break
35蛇形矩阵
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
# coding = utf-8defsnake_matrix(n):
res =[]for i inrange(n):# 生成第一行元素if i ==0:
res.append([(j+1)*(j+2)//2for j inrange(n)])# print(res)else:# 第二行为第一行的第二个元素开始-1
res.append([(j-1)for j in res[i-1][1:]])return res
if __name__ =='__main__':whileTrue:try:
n =int(input())
res = snake_matrix(n)for i in res:
line_ =' '.join([str(j)for j in i])print(line_)except:break
# coding = utf-8import string
defmain(input_string, pw_string):# 获取所有大写字母
all_upper_letters = string.ascii_uppercase
# 对输入字符串进行去重
tmp =''for i in input_string:if i notin tmp:
tmp += i
# 对去重后的字符进行拼接大写字母
pw = tmp.upper()for i in all_upper_letters:if i notin pw:
pw += i
# 对pw_string 进行相应加密
res =''for i in pw_string:if i.isupper():
res += pw[all_upper_letters.index(i)]elif i.islower():
res += pw[all_upper_letters.index(i.upper())].lower()else:
res += i
return res
if __name__ =='__main__':whileTrue:try:
input_string =input()
pw_string =input()print(main(input_string, pw_string))except:break
# coding = utf-8import string
defpretty(name_list):# 最大即出现频率最高的漂亮度最大,统计该名字中各字符出现次数
count =[]for name in name_list:# tmp 统计单词中不重复字符出现的频数
tmp =list(set(name))
count.append([name.count(i)for i in tmp])# 对出现频率排序并进行计算
score =[]for i in count:
res =0# 进行升序排列
i.sort(reverse =True)# 计算漂亮度for j inrange(len(i)):
res += i[j]*(26- j)
score.append(res)return score
if __name__ =='__main__':whileTrue:try:
N =int(input())
name_list =[input()for i inrange(N)]
score = pretty(name_list)for i in score:print(i)except:break
# coding = utf-8defmain(input_string):# 统计每个字符的词频
count ={}for i in input_string:
count[i]= input_string.count(i)# 进行对比for i in input_string:if count[i]==1:return i
return-1if __name__ =='__main__':whileTrue:try:
input_string =input()
res = main(input_string)print(res)except:break
# coding = utf-8defmain(nums):
all_nums ={}for i inrange(1, nums +1):# 素数 仅有1和本身能整除法# 求所有数的公因数,长度为2的就是素数
tmp =[]for j inrange(1, i+1):if i%j ==0:
tmp.append(j)iflen(tmp)==2:
all_nums[i]= tmp
# 找出两者之和等于nums的数
res =[]for i inrange(1, nums +1):if(nums - i)in all_nums.keys()and i in all_nums.keys():
value =max(i, nums-i)-min(i, nums-i)
res.append([i, nums-i, value])# 按差值排序
res =sorted(res, key =lambda x:x[-1])return res
if __name__ =='__main__':whileTrue:try:
nums =int(input())
res = main(nums)print(res[0][0])print(res[0][1])except:break
63 DNA序列
一个DNA序列由A/C/G/T四个字母的排列组合组成。
# coding = utf-8defcount(sub_string):
res = sub_string.count('C')+ sub_string.count('G')return res /len(sub_string)defmain(input_string, N):
split_list =[]for i inrange(len(input_string)):
split_list.append(input_string[i:i+N])# 计算子串的ratio
ratio ={}for i in split_list:iflen(i)== N:
ratio[i]= count(i)# 对ratio 排序
ratio =sorted(ratio.items(), key =lambda x:x[-1], reverse =True)
res =[]for i in ratio:if i[-1]== ratio[0][-1]:
res.append(i)# 判断res中是否存在多个值,存在则根据出现先后顺序排列iflen(res)>1:
res =sorted(res, key =lambda x:input_string.index(x[0]))return res[0][0]if __name__ =='__main__':whileTrue:try:
input_string =input()
N =int(input())
res = main(input_string, N)print(res)except:break
64MP3光标位置
# coding = utf-8defmain(nums, commands):# 生成所有歌曲
songs =[i for i inrange(1, nums+1)]
start =0# 每页的起始位置
cur =0# 当前鼠标位置for i in commands:# 起始位置为第一首歌if i =='U':if cur ==0:
cur = nums-1else:
cur -=1if i =='D':if cur == nums -1:
cur =0else:
cur +=1if commands[-1]=='U':if songs[cur]in songs[-4:]:
start = nums -4elif songs[cur]in songs[:4]:
start =0else:
start = cur
if commands[-1]=='D':if songs[cur]in songs[:4]:
start =0elif songs[cur]in songs[-4:]:
start = nums -4else:
start = cur -3print(*songs[start:start+4])print(songs[cur])if __name__ =='__main__':whileTrue:try:
nums =int(input())
commands =input()
main(nums, commands)except:break
65查找两个字符串a,b中的最长公共子串
查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。
# coding = utf-8defmain(input_string1, input_string2):# 找到两者中较短的字符串,使得较短为input_string1iflen(input_string2)<len(input_string1):
input_string1, input_string2 = input_string2, input_string1
n =len(input_string1)
m =len(input_string2)
sub_string_list =[]for i inrange(n):for j inrange(i +1, m):
sub_string = input_string1[i:j]if sub_string in input_string2 andlen(sub_string)>1:
sub_string_list.append(sub_string)# 对子串进行去重和根据长度排序
sub_string_list =sorted(list(set(sub_string_list)), key =lambda x :len(x), reverse =True)# 找出和最长子串长度相同的子串
res =[i for i in sub_string_list iflen(i)==len(sub_string_list[0])]# 出现多个相同长度的符合要求子串,根据要求,返回在最短字符串中最先出现的子串iflen(res)>1:
res.sort(key =lambda x : input_string1.index(x))return res[0]if __name__ =='__main__':whileTrue:try:
input_string1 =input()
input_string2 =input()
res = main(input_string1, input_string2)print(res)except:break
67 24点游戏算法
问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利
# coding = utf-8defTweentyFour(num_list, item):if item <1:returnFalseiflen(num_list)==1:return num_list[0]== item
for i inrange(len(num_list)):
a = num_list[:i]+ num_list[i+1:]
b = num_list[i]if TweentyFour(a, item - b)or TweentyFour(a, item + b)or TweentyFour(a, item * b)or TweentyFour(a, item / b):returnTruereturnFalseif __name__ =='__main__':whileTrue:try:
num_list =[int(i)for i ininput().split()]
res = TweentyFour(num_list,24)if res:print('true')else:print('false')except:break
69矩阵乘法
# coding = utf-8defmatrix(x, y, z, A, B):
C =[]for i inrange(x):
tmp =[]for j inrange(z):
res =0for k inrange(y):
res += A[i][k]* B[k][j]
tmp.append(res)
C.append(tmp)return C
if __name__ =='__main__':whileTrue:try:
x =int(input())
y =int(input())
z =int(input())
A =[list(map(int,input().split()))for i inrange(x)]
B =[list(map(int,input().split()))for i inrange(y)]
C = matrix(x, y, z, A, B)for i in C:print(' '.join([str(j)for j in i]))except:break
70矩阵乘法计算量估算
矩阵乘法的运算量与矩阵乘法的顺序强相关。
whileTrue:try:
n,dic,stk,num =int(input()),{},[],0for i inrange(n):# chr(ord('A') ->A
key =chr(ord('A')+i)
dic[key]=list(map(int,input().strip().split()))
x =input()for i inrange(len(x)):if x[i]!=')':
stk.append(x[i])else:
C,B = stk.pop(),stk.pop()
stk.pop()
num += dic[B][0]*dic[C][1]*dic[B][1]
dic[B]=[dic[B][0],dic[C][1]]
stk.append(B)print(num)except:break
# coding = utf-8defmain(input_list):
res =[]for i in input_list:if0<=i<=255:
res.append(1)ifsum(res)==4:print('YES')else:print('NO')if __name__ =='__main__':whileTrue:try:
input_list =list(map(int,input().split('.')))
main(input_list)except:break
96表示数字
将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。
# coding = utf-8import re
defmain(input_string):
res =''# 为了避免第一个字符为数字,拼接一个特殊字符
input_string =' '+input_string
n =len(input_string)for i inrange(n):# if input_string[i].isalpha():
res += input_string[i]if i!= n -1andnot input_string[i].isdigit()and input_string[i+1].isdigit():
res +='*'elif i!= n -1and input_string[i].isdigit()andnot input_string[i+1].isdigit():
res +='*'elif i == n-1and input_string[i].isdigit():
res +='*'# 去除人为拼接字符并返回结果return res[1:]if __name__ =='__main__':whileTrue:try:
input_string =input()print(main(input_string))except:break
98自动售货系统
"""
Created on Tue Dec 22 07:53:19 2020
@author: legen
"""classMachine(object):def__init__(self, arr):
self.products = arr[0]
self.changes = arr[1]
self.price =[2,3,4,5,8,6]
self.balance =0print("S001:Initialization is successful")definsertMoney(self, coin):if coin notin[1,2,5,10]:print("E002:Denomination error")returnif coin in[5,10]:if self.changes[0]+ self.changes[1]*2< coin:print("E003:Change is not enough, pay fail")returnifsum(self.products)==0:print("E005:All the goods sold out")return
h ={1:0,2:1,5:2,10:3}
self.changes[h[coin]]+=1
self.balance += coin
print("S002:Pay success,balance={}".format(self.balance))returndefbuy(self, item):
h ={'A1':0,'A2':1,'A3':2,'A4':3,'A5':4,'A6':5}if item notin h:print("E006:Goods does not exist")returnif self.products[h[item]]==0:print("E007:The goods sold out")returnif self.price[h[item]]> self.balance:print("E008:Lack of balance")return
self.products[h[item]]-=1
self.balance -= self.price[h[item]]print("S003:Buy success,balance={}".format(self.balance))returndefpopChange(self):if self.balance ==0:print("E009:Work failure")return
self._combination()returndef_combination(self):
val =[1,2,5,10]
f =[[None]*4for y inrange(self.balance+1)]for i inrange(self.balance+1):if i ==0:for j inrange(4):
f[i][j]=0continuefor j inrange(len(val)):if i >= val[j]:if f[i-val[j]][j]+1<= self.changes[j]:if f[i-val[j]][0]isnotNone:
prev =sum(f[i-val[j]])else:continueif f[i][0]isNone:for k inrange(4):
f[i][k]= f[i-val[j]][k]
f[i][j]+=1else:ifsum(f[i])> prev+1:for k inrange(4):
f[i][k]= f[i-val[j]][k]
f[i][j]+=1for i inrange(len(f)-1,-1,-1):if f[i][0]isnotNone:for j inrange(4):print("{} yuan coin number={}".format(val[j], f[i][j]))
self.changes[j]-= f[i][j]break
self.balance =0returndefqueryItem(self):
name =['A1','A2','A3','A4','A5','A6']
arr =[list(x)for x inzip(name, self.price, self.products)]
arr.sort(key=lambda x:-x[2])for ele in arr:print(" ".join([str(x)for x in ele]))returndefqueryChange(self):
val =[1,2,5,10]for i inrange(len(self.changes)):print("{} yuan coin number={}".format(val[i], self.changes[i]))returndefvendingMachineOperation(jobs):for job in jobs:if job[0]=='r':
M = Machine([list(map(int, ele.split('-')))for ele in job[1:]])elif job[0]=='p':
M.insertMoney(int(job[-1]))elif job[0]=='b':
M.buy(job[-1])elif job[0]=='c':
M.popChange()elif job[0]=='q':if job[1]==0:
M.queryItem()elif job[1]==1:
M.queryChange()else:print("E010:Parameter error")else:print("E010:Parameter error")returnwhileTrue:try:
jobs =list(input().split(';'))[:-1]
jobs =[list(x.split())for x in jobs]
vendingMachineOperation(jobs)except:break
99 自守数
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625
# coding = utf-8defmain(nums):
res =[]for i inrange(nums+1):ifstr(i)==str(i**2)[-len(str(i)):]:
res.append(i)# print(res)return res
if __name__ =='__main__':whileTrue:try:
nums =int(input())
res = main(nums)print(len(res))except:break
# coding = utf-8defmain(input_string):
ch_dict ={}for i in input_string:
ch_dict[i]= input_string.count(i)
ch_dict =sorted(ch_dict.items(), key =lambda x:(-x[-1], x[0]))
res =''for i in ch_dict:
res += i[0]return res
if __name__ =='__main__':whileTrue:try:
input_string =input()
res = main(input_string)print(res)except:break
103Redraiment的走法
Redraiment是走梅花桩的高手。
# coding = utf8defmain(n, nums_list):# 起点为一步
dp =[1for i inrange(n)]
max_step =0for i inrange(n):for j inrange(i):if nums_list[j]< nums_list[i]:
dp[i]=max(dp[i], dp[j]+1)if max_step < dp[i]:
max_step = dp[i]return max_step
if __name__ =='__main__':whileTrue:try:
n =int(input())
nums_list =list(map(int,input().split()))print(main(n, nums_list))except:break
107求解立方根
# coding = utf-8defmain(num):# 立方根需要考虑负数的情况if num ==0:return0elif num>0:
flag =1else:
flag =-1# 取绝对值
num =abs(num)# 判断num是<1还是>1,并确定相应的区间if num<1:
start = num /2
end =1else:
start =0
end = num /2
mid =(start + end)/2whileabs(mid**3- num)>1e-7:# 缩小范围if mid**3> num:
end = mid
else:
start = mid
mid =(start + end)/2returnround(float(flag*mid),1)if __name__ =='__main__':whileTrue:try:
num =float(input())print(main(num))except:break
defmain(input_string):iflen(input_string)>1000:return'字符串长度超过1000'
temp =''.join([i for i in input_string[::-1]if i.lower()])return temp
if __name__ =='__main__':
input_string =input()print(main(input_string))
# coding = utf-8# 斐波那契数列defcount():
month =int(input())
a =0
b =1while month>0:
a, b = b, a+b
month -=1return a
if __name__ =='__main__':whileTrue:try:print(count())except:break
# coding = utf-8defmain(num):# res {1:[], 2:[1],...,4:[1,2]}
res ={}for i inrange(1, num+1):# 存储该数的所有公约数
tmp =[]for j inrange(1, i+1):if i%j==0and i != j:
tmp.append(j)
res[i]= tmp
count =[]# 计算满足条件的完全数for k, v in res.items():if k ==sum(v):
count.append(k)returnlen(count)# 计算是否为if __name__ =='__main__':whileTrue:try:
num =int(input())print(main(num))except:break
61放苹果
把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
defmain(m, n):# 1.n个盘子有一个为空盘,即m个苹果放在n-1个盘子上# 2.至少每个盘子都放一个苹果,最多剩下m-n个苹果,将m-n个苹果放在n个盘子上if m<0or n<0:return0if m ==1or n ==1:return1return main(m, n-1)+ main(m-n, n)if __name__ =='__main__':whileTrue:try:
m, n =map(int,input().split())print(main(m, n))except:break
62查找输入整数二进制中1的个数
# coding = utf-8defmain(num):returnbin(num).count('1')if __name__ =='__main__':whileTrue:try:
num =int(input())print(main(num))except:break
66配置文件恢复
有6条配置命令
# coding = utf-8defmain(input_string):
command_dict ={'reset':'reset what','reset board':'board fault','board add':'where to add','board delete':'no board at all','reboot backplane':'impossible','backplane abort':'install first','he he':'unknown command'}
input_string = input_string.strip()
input_list = input_string.split()iflen(input_list)<1:return' 'eliflen(input_list)==1:if input_list[0]=='r'or'res':return command_dict['reset']else:return command_dict['he he']eliflen(input_list)==2:for i in command_dict.keys():if input_list[0]in i and input_list[1]in i:return command_dict[i]else:return command_dict['he he']else:return command_dict['he he']if __name__ =='__main__':whileTrue:try:
input_string =input()print(main(input_string))except:break
72百钱买百鸡问题
import random
defGetResult():# 百钱最多买20只公鸡, 33只母鸡for x inrange(0,21):for y inrange(0,34):
z =100- x - y
price =5*x +3*y + z/3if price ==100:print(x, y, z)if __name__ =='__main__':
begin =int(input())
73计算日期到天数转换
根据输入的日期,计算是这一年的第几天。
# coding = utf-8defmain(year, month, day):
days =[31,28,31,30,31,30,31,31,30,31,30,31]if year%4==0and year%100!=0:
days[1]=29
last_day =sum(days[:month-1])+ day
print(last_day)if __name__ =='__main__':
year, month, day =list(map(int,input().split()))
main(year, month, day)
#coding = utf-8defmain(input_string):
input_string_list =list(input_string)# 存储每个"的索引
tmp =[]for i inrange(len(input_string_list)):if input_string_list[i]=='"':
tmp.append(i)# 将"中间部分的空格替换为特殊标记for i inrange(0,len(tmp),2):for j inrange(tmp[i],tmp[i+1]+1):if input_string_list[j]==' ':
input_string_list[j]='$replace$'# 将处理完的列表拼接,并根据空格切分为列表
replace_string =''.join(input_string_list)
replace_list = replace_string.split()# 输出每一个部分,并将"和特殊标记还原print(len(replace_list))for i in replace_list:if'$replace$'in i:
i = i.replace('$replace$',' ')print(i.replace('"',''))if __name__ =='__main__':whileTrue:try:
input_string =input()
main(input_string)except:break
75公共子串计算
给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度。
# coding = utf-8defmain(input_string1, input_string2):iflen(input_string1)>len(input_string2):
input_string1, input_string2 = input_string2, input_string1
m =len(input_string1)
n =len(input_string2)
res =[]for i inrange(m):for j inrange(i+1, m):if input_string1[i:j]in input_string2 andlen(input_string1[i:j])>2:
res.append(input_string1[i:j])
res =sorted(res, key =lambda x:len(x), reverse=True)return res
if __name__ =='__main__':whileTrue:try:
input_string1 =input()
input_string2 =input()
res = main(input_string1, input_string2)print(len(res[0]))except:break
76尼科彻斯定理
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
# coding = utf-8defmain(nums):
result = nums**3# 定理中,第一个数为 x = n(n-1) +1# 后续每个值+2
res =[nums*(nums-1)+1]if nums>1:for i inrange(1, nums):
res.append(res[i-1]+2)
res =list(map(str, res))return res
if __name__ =='__main__':whileTrue:try:
nums =int(input())
res = main(nums)for i inrange(len(res)):if i == nums-1:print(res[i])else:print(res[i]+'+', end='')except:break
83二维数组操作
# coding = utf-8import random
defmain(m, n, x1, y1, x2, y2, x, y, index_x, index_y):if0<=m<=9and0<=n<=9:
table =[[random.randint(1, m*n)for i inrange(n)]for j inrange(m)]print('0')else:print('-1')if0<=x1<m and0<=x2<m and0<=y1<n and0<=y2<n:
table[x1][y1], table[x2][y2]= table[x2][y2], table[x1][y1]print('0')else:print('-1')if m<9and0<=x<m:
table.insert(x,[0for i inrange(n)])
table =[[random.randint(1, m*n)for i inrange(n)]for j inrange(n)]print('0')else:print('-1')if n<9and0<=y<n:for i in table:
i.insert(y,0)
table =[[random.randint(1, m*n)for i inrange(n)]for j inrange(n)]print('0')else:print('-1')if0<=index_x<m and0<=index_y<n:print('0')else:print('-1')if __name__ =='__main__':whileTrue:try:
m, n =map(int,input().split())
x1, y1, x2, y2 =map(int,input().split())
x =int(input())
y =int(input())
index_x, index_y =map(int,input().split())
main(m, n, x1, y1, x2, y2, x, y, index_x, index_y)except:break
84统计大写字母个数
找出给定字符串中大写字符(即’A’-‘Z’)的个数。
# coding = utf-8defmain(input_string):
alpha_dict ={}for i in input_string:if i.isupper():
alpha_dict[i]= input_string.count(i)
res =0for k, v in alpha_dict.items():
res += v
return res
if __name__ =='__main__':whileTrue:try:
input_string =input()print(main(input_string))except:break
# coding = utf-8import re
defmain(nums):# bin()->0bxxxxx->[:2]->xxxxx
bytes_string =''.join([str(i)for i inbin(nums)[2:]])
res = re.findall(r'1+',bytes_string)
res.sort(key =lambda x:len(x),reverse =True)returnlen(res[0])if __name__ =='__main__':whileTrue:try:
nums =int(input())print(main(nums))except:break
87密码强度等级
# coding = utf-8import re
defmain(input_string):
input_length =len(input_string)
score =0
flag =0# 奖励if input_length<=4:
score +=5elif5<=input_length<=7:
score +=10elif input_length>=8:
score +=25
alpha_list = re.findall(r'[a-zA-Z]+', input_string)iflen(alpha_list)==0:
score +=0else:
flag +=1
ch_string =''.join(alpha_list)
ch_length =len(ch_string)# 统计所有字母长度,并找到所有小写字母长度,比较,若相等则说明没有大写字母
lower_list =''.join(re.findall(r'[a-z]+', ch_string))iflen(lower_list)== ch_length:
score +=10# 说明全是大写字母eliflen(lower_list)==0:
score +=10# 大小写混合else:
flag +=1
score +=20iflen(re.findall(r'\d', input_string))==1:
flag +=1
score +=10eliflen(re.findall(r'\d', input_string))>1:
flag +=1
score +=20else:
score +=0
item ="""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""
item_list =[]for i in item:if i in input_string:
item_list.append(i)iflen(item_list)==1:
flag +=1
score +=10eliflen(item_list)>1:
flag +=1
score +=25else:
score +=0if flag ==2:
score +=2elif flag ==3:
score +=3else:
score +=5if score>=90:print('VERY_SECURE')elif80<=score<90:print('SECURE')elif70<=score<80:print('VERY_STRONG')elif60<=score<70:print('STRONG')elif50<=score<60:print('AVERAGE')elif25<=score<50:print('WEAK')else:print('VERY_WEAK')if __name__ =='__main__':whileTrue:try:
input_string =input()
main(input_string)except:break
91走方格的方案数
请计算n*m的棋盘格子
# coding = utf-8deffn(n, m):if n ==0or m ==0:return1else:return fn(n-1, m)+ fn(n, m-1)if __name__ =='__main__':whileTrue:try:
n, m =map(int,input().split())print(fn(n, m))except:break
100等差数列
# coding = utf-8defmain(nums):
a0 =2
d =3
res =[]for i inrange(1, nums+1):
res.append(a0 + d*(i-1))# 或者 n*a0 + d*n*(n-1)/2return res
if __name__ =='__main__':whileTrue:try:
nums =int(input())
res = main(nums)print(sum(res))except:break
106字符逆序
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。
# coding = utf-8defmain(input_string):
res =''for i inrange(len(input_string)-1,-1,-1):
res += input_string[i][::-1]return res
if __name__ =='__main__':whileTrue:try:
input_string =input()print(main(input_string))except:break
108求最小公倍数
# coding = utf-8defmain(a, b):
i =1while a*i%b !=0:
i+=1return a*i
if __name__ =='__main__':
a, b =map(int,input().split())print(main(a, b))
5进制转换写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。# coding = utf-8 def main(nums): # 16进制对照字典 num_dict = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,'D':13,'E':14,'F':15} n = len(nums) res = 0 for i in range