博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python实现电话号码分身
阅读量:4189 次
发布时间:2019-05-26

本文共 1566 字,大约阅读时间需要 5 分钟。

目录


 

题目描述        

    继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"),然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。

 

输入/输出描述

    ?输入描述
    第一行是一个整数T(1 ≤ T ≤ 100)表示测试样例数;接下来T行,每行给定一个分身后的电话号码的分身
    (长度在3到10000之间)。

    ?输出描述
    输出T行,分别对应输入中每行字符串对应的分身前的最小电话号码(允许前导0)。

输入/输出示例:  

 

    输入:

4EIGHTZEROTWOONEOHWETENRTEOOHEWTIEGTHENRTEO

输出:

02343450345

 

题目分析:

 

首先将题目对应的数字、对应的数字码、数字码对应的英文列出一个表:

原码 +8后的原码 取个位 英文码
0 8 8 EIGHT
1 9 9 NINE
2 10 0 ZERO
3 11 1 ONE
4 12 2 TWO
5 13 3 THREE
6 14 4 FOUR
7 15 5 FIVE
8 16 6 SIX
9 17 7 SEVEN

 

      观察英文码,发现数字0对应的英文码EIGHT中字符‘G’在所有英文码中是独有的。也就是说,在打乱的英文码中,出现字符G的次数等于出现数字0的次数。同理,数字2的英文码ZERO的字符‘Z’、数字4的英文码TWO的字符‘W’、数字6的英文码FOUR字符‘U’、数字8的英文码SIX的字符‘X’,这5个数字的英文码都有独特的字符,可以唯一的表示他们数字的个数。

      在剩下的5个数字中,观察规律,不难看出数字3的英文码ONE中的字符‘O’,除了已知数量的2、4、6外也是唯一的,也就是说将字符O的总数减去2、4、6数字的数量,剩下的就是数字3的数量。以此类推得出其余所有数字的数量,这里不再一一赘述。

      在代码中,使用count()函数来获取每个字符的数量。count()函数的意思是在字符串中取子串的数量,返回整数类型。语法为string.count(substring)

 

代码展示

time = int(input())s = []for i in range(time):    a = input()    s.append(a)for element in s:    n0 = element.count('G')    n2 = element.count('Z')    n4 = element.count('W')    n6 = element.count('U')    n8 = element.count('X')    n3 = element.count('O') - n2 - n4 - n6    n5 = element.count('T') - n0 - n4    n7 = element.count('F') - n6    n9 = element.count('S') - n8    n1 = element.count('I') - n0 - n7 - n8    print('0' * n0 + '1' * n1 + '2' * n2 + '3' * n3 + '4' * n4 + '5' * n5 + '6' * n6 +          '7' * n7 + '8' * n8 + '9' * n9)

 

传送门

1. input函数

2. int函数

3. range函数

4. append函数

5. count函数

6. print()函数

转载地址:http://tjsoi.baihongyu.com/

你可能感兴趣的文章
第29回 软件质量度量
查看>>
IT 2007预言
查看>>
怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
查看>>
ASP.NET2.0 文本编辑器FCKeditor使用方法详解
查看>>
常见的 Web 项目转换问题及解决方案
查看>>
VS2005中使用ClickOnce 部署应用程序的升级
查看>>
Visual Studio2005下配置及运行NUnit
查看>>
.Net Remoting配置文件的用法
查看>>
Tomcat性能调整优化
查看>>
利用SQL Server 2005减轻生产服务器优化负荷
查看>>
优化MYSQL服务器
查看>>
Exchange磁盘性能优化
查看>>
Apusic应用服务器的性能调节_JVM优化
查看>>
Apache重负荷服务器应如何优化?
查看>>
Windows NT/2000服务器优化
查看>>
Windows 2003系统优化技巧
查看>>
Linux NFS服务器性能优化
查看>>
FREEBSD升级及优化全攻略
查看>>
RISC架构服务器开源运动将促使市场需求提升
查看>>
IT治理的成功要诀
查看>>