说明
一个类,能够将手机号转化为16进制字符串输出。目前并且没有实现验证手机号的方法verify_mobile有兴趣,可以自定义实现。
class ParseMobileTo16(object):
"""将手机号转化为16进制字符串输出"""
def __init__(self, mobile):
# 用于生成16进制的结果
self.dic_16 = {'10': 'a', '11': 'b', '12': 'c', '13': 'd', '14': 'e', '15': 'f'}
# 存储生成16进制的每一位
self.ls = []
self.mobile = mobile
# 验证手机号
def verify_mobile(self, mobile):
# 校验手机号
pass
# 递归添加16进制的每一位到ls中
def ls_16(self, mobile):
# 余数
reminder = mobile % 16
# 商
quotient = mobile // 16
# 余数就是16进制的每一位
self.ls.append(reminder)
if quotient == 0:
return
self.ls_16(quotient)
# 拼接16进制字符串
def to_16(self, ls):
str1 = ''
for i in ls:
# 将每一位转化为真正的16进制表示,拼接返回
a = self.dic_16.get('%d' % i) or i
str1 += str(a)
return str1
# 调度
def run(self):
# 验证手机号
self.verify_mobile(self.mobile)
# 获取16进制的每一位的10进制表示
self.ls_16(self.mobile)
# 获取16进制表示
str2 = self.to_16(self.ls)[::-1]
return str2
调度
if __name__ == '__main__':
mobile = int(input('请输入电话号码'))
p = ParseMobileTo16(mobile)
s = p.run()
print(s)