python_28-30

 部分算法题目作业:

目录

4112 487-3279:

4114 单词逆序

4210 回文

4111 浮点数格式:


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])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值