部分算法题目作业:
目录
4112 487-3279:
dic = { 'A': '2', 'B': '2', 'C': '2',
'D': '3', 'E': '3', 'F': '3',
'G': '4', 'H': '4', 'I': '4',
'J': '5', 'K': '5', 'L': '5',
'M': '6', 'N': '6', 'O': '6',
'P': '7', 'R': '7', 'S': '7',
'T': '8', 'U': '8', 'V': '8',
'W': '9', 'X': '9', 'Y': '9',
'Q': '', 'Z': ''}
def convert(number):
new_number = ''
for i in number:
if i in dic:
new_number += dic[i]
else:
new_number += i
return new_number
n = int(input())
new_number = []
lst_number = []
for i in range(n):
number = input()
number = number.replace('-', '')
number = number.strip()
number = number.upper()
lst_number.append(number)
for i in lst_number:
new_number.append(convert(i))
dic_number = {}
for number in set(new_number):
count = new_number.count(number)
if count > 1:
dic_number[number] = count
for i in sorted(dic_number.keys()):
print(i[:3]+'-'+i[3:], dic_number[i])
if len(dic_number) == 0:
print("No duplicates.")
4114 单词逆序
M = int(input())
input()
for i in range(M):
N = int(input())
for i in range(N):
lst = map(str,input().split(" "))
for i in lst:
print(i[::-1],end="")
print(" ",end="")
print("")
print("")
4210 回文
import sys
def is_mirrored(strvar):
dic = {'E':'3','J':'L','L':'J',
'S':'2','0':'O','Z':'5',
'2':'S','3':'E','5':'Z'}
new_strvar=''
for i in strvar:
if i in dic:
new_strvar+=dic[i]
else:
new_strvar+=i
if strvar == new_strvar[::-1]:
return True
else:
return False
def is_regular(strvar):
if strvar == strvar[::-1]:
return True
else:
return False
InputList=sys.stdin.readlines()
for i in range(len(InputList)):
strvar = InputList[i].strip("\n")
strvar = strvar.strip()
if is_regular(strvar):
if is_mirrored(strvar):
print(strvar+' -- is a mirrored palindrome.')
else:
print(strvar+" -- is a regular palindrome.")
else:
if is_mirrored(strvar):
print(strvar+" -- is a mirrored string.")
else:
print(strvar+" -- is not a palindrome.")
print("")
4111 浮点数格式:
n = int(input())
lst_num = []
lst_point = []
for i in range(n):
num = input()
lst_num.append(num)
point = num.find(".")
lst_point.append(point)
point_max = max(lst_point)
for i in range(n):
print((point_max-lst_point[i])*" "+lst_num[i])