short_str =input()
long_str =input()iflen(short_str)>len(long_str):
temp = short_str
short_str = long_str
long_str = temp
res =[]for length inrange(len(short_str)):if length ==0:continuefor start inrange(len(short_str)- length +1):
com = short_str[start:start+length]if com in long_str:
res.append(com)
max_length =len(res[-1])
same_length_str =[]for str1 in res:iflen(str1)== max_length:
same_length_str.append(str1)print(same_length_str[0])
HJ67 24点游戏(递归–值得学习)
defcheck(nums, result):"""
递归检查能否通过给定的数字和运算符组合得到24
Args:
nums: 待运算的数字列表
result: 当前计算结果
Returns:
bool: 是否能得到24
"""ifnot nums:# 数组为空,判断是否等于24return result ==24for i inrange(len(nums)):
rest = nums[0:i]+ nums[i+1:]# rest = nums.copy()# rest.pop(i) # 删除当前使用的数字# 分别进行加减乘除四种运算,并进行递归检查if check(rest, result + nums[i])or \
check(rest, result - nums[i])or \
check(rest, result * nums[i])or \
check(rest, result / nums[i]):returnTruereturnFalseif __name__ =="__main__":whileTrue:try:# nums = []
nums =list(map(int,input().split()))if check(nums,0):print("true")else:print("false")except:break
HJ68 成绩排序(dict会去重key,排序用元组,可以有多个参数)
n =int(input())
order =int(input())
li =[]for i inrange(n):
name, score =input().split()
li.append([name, score, i])if order ==0:#降序
li =sorted(li, key =lambda x :(int(x[1]),-int(x[2])), reverse =True)else:
li =sorted(li, key =lambda x :(int(x[1]),int(x[2])))for i inrange(n):print(f"{li[i][0]}{li[i][1]}")
HJ69 矩阵乘法
x =int(input())
y =int(input())
z =int(input())
matrixA =[]
matrixB =[]for _ inrange(x):
temp =list(map(int,input().split()))
matrixA.append(temp)print(matrixA)for _ inrange(y):
temp =list(map(int,input().split()))
matrixB.append(temp)
matC =[[0for _ inrange(x)]for _ inrange(z)]for i inrange(x):for j inrange(z):
temp =0for k inrange(y):
temp = matrixA[i][k]* matrixB[k][j]
matC[i][j]+= temp
print(matC)