Python基于递归实现电话号码映射功能示例


Posted in Python onApril 13, 2018

本文实例讲述了Python基于递归实现电话号码映射功能。分享给大家供大家参考,具体如下:

问题

电话按键上面的每个数字都对应着几个字母,如果按下一个数字键代表输入一个字母,那么输入一个数字组成的字符串,它所产生的所有的可能的字母串是什么,有多少种

思路:

这个是一个递归的问题

下面是具体的实现,为了更清晰看懂递归调用的过程,这里打印出来了每一次递归的过程:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:电话号码映射
'''
phone_dict={'2':'abc','3':'def','4':'ghi','5':'jkl','6':'mno','7':'pqrs','8':'tuv','9':'wxyz'}
def phone_num_map(one_str,phone_dict):
  '''''
  电话号码映射
  '''
  res_list=[]
  deep(one_str, "", res_list)
  return res_list
def deep(one_str, tmp_str, res_list):
  '''''
  递归的遍历过程
  '''
  if not one_str:
    res_list.append(tmp_str)
    return
  for c in phone_dict[one_str[0]]:
    deep(one_str[1:], tmp_str + c, res_list)
    print 'deep({0}, {1}, {2})'.format(one_str[1:], tmp_str + c, res_list)
if __name__ == '__main__':
  one_str_list=['23','567','47','89','44']
  for one_str in one_str_list:
    one_list=phone_num_map(one_str,phone_dict)
    print one_list
    print len(one_list)

结果如下:

deep(, ad, ['ad'])
deep(, ae, ['ad', 'ae'])
deep(, af, ['ad', 'ae', 'af'])
deep(3, a, ['ad', 'ae', 'af'])
deep(, bd, ['ad', 'ae', 'af', 'bd'])
deep(, be, ['ad', 'ae', 'af', 'bd', 'be'])
deep(, bf, ['ad', 'ae', 'af', 'bd', 'be', 'bf'])
deep(3, b, ['ad', 'ae', 'af', 'bd', 'be', 'bf'])
deep(, cd, ['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd'])
deep(, ce, ['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce'])
deep(, cf, ['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf'])
deep(3, c, ['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf'])
['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf']
9
deep(, jmp, ['jmp'])
deep(, jmq, ['jmp', 'jmq'])
deep(, jmr, ['jmp', 'jmq', 'jmr'])
deep(, jms, ['jmp', 'jmq', 'jmr', 'jms'])
deep(7, jm, ['jmp', 'jmq', 'jmr', 'jms'])
deep(, jnp, ['jmp', 'jmq', 'jmr', 'jms', 'jnp'])
deep(, jnq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq'])
deep(, jnr, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr'])
deep(, jns, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns'])
deep(7, jn, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns'])
deep(, jop, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop'])
deep(, joq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq'])
deep(, jor, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor'])
deep(, jos, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos'])
deep(7, jo, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos'])
deep(67, j, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos'])
deep(, kmp, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp'])
deep(, kmq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq'])
deep(, kmr, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr'])
deep(, kms, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms'])
deep(7, km, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms'])
deep(, knp, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp'])
deep(, knq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq'])
deep(, knr, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr'])
deep(, kns, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns'])
deep(7, kn, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns'])
deep(, kop, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop'])
deep(, koq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq'])
deep(, kor, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor'])
deep(, kos, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos'])
deep(7, ko, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos'])
deep(67, k, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos'])
deep(, lmp, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp'])
deep(, lmq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq'])
deep(, lmr, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr'])
deep(, lms, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms'])
deep(7, lm, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms'])
deep(, lnp, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp'])
deep(, lnq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq'])
deep(, lnr, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr'])
deep(, lns, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns'])
deep(7, ln, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns'])
deep(, lop, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop'])
deep(, loq, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq'])
deep(, lor, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq', 'lor'])
deep(, los, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq', 'lor', 'los'])
deep(7, lo, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq', 'lor', 'los'])
deep(67, l, ['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq', 'lor', 'los'])
['jmp', 'jmq', 'jmr', 'jms', 'jnp', 'jnq', 'jnr', 'jns', 'jop', 'joq', 'jor', 'jos', 'kmp', 'kmq', 'kmr', 'kms', 'knp', 'knq', 'knr', 'kns', 'kop', 'koq', 'kor', 'kos', 'lmp', 'lmq', 'lmr', 'lms', 'lnp', 'lnq', 'lnr', 'lns', 'lop', 'loq', 'lor', 'los']
36
deep(, gp, ['gp'])
deep(, gq, ['gp', 'gq'])
deep(, gr, ['gp', 'gq', 'gr'])
deep(, gs, ['gp', 'gq', 'gr', 'gs'])
deep(7, g, ['gp', 'gq', 'gr', 'gs'])
deep(, hp, ['gp', 'gq', 'gr', 'gs', 'hp'])
deep(, hq, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq'])
deep(, hr, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr'])
deep(, hs, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs'])
deep(7, h, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs'])
deep(, ip, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip'])
deep(, iq, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip', 'iq'])
deep(, ir, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip', 'iq', 'ir'])
deep(, is, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip', 'iq', 'ir', 'is'])
deep(7, i, ['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip', 'iq', 'ir', 'is'])
['gp', 'gq', 'gr', 'gs', 'hp', 'hq', 'hr', 'hs', 'ip', 'iq', 'ir', 'is']
12
deep(, tw, ['tw'])
deep(, tx, ['tw', 'tx'])
deep(, ty, ['tw', 'tx', 'ty'])
deep(, tz, ['tw', 'tx', 'ty', 'tz'])
deep(9, t, ['tw', 'tx', 'ty', 'tz'])
deep(, uw, ['tw', 'tx', 'ty', 'tz', 'uw'])
deep(, ux, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux'])
deep(, uy, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy'])
deep(, uz, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz'])
deep(9, u, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz'])
deep(, vw, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw'])
deep(, vx, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw', 'vx'])
deep(, vy, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw', 'vx', 'vy'])
deep(, vz, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw', 'vx', 'vy', 'vz'])
deep(9, v, ['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw', 'vx', 'vy', 'vz'])
['tw', 'tx', 'ty', 'tz', 'uw', 'ux', 'uy', 'uz', 'vw', 'vx', 'vy', 'vz']
12
deep(, gg, ['gg'])
deep(, gh, ['gg', 'gh'])
deep(, gi, ['gg', 'gh', 'gi'])
deep(4, g, ['gg', 'gh', 'gi'])
deep(, hg, ['gg', 'gh', 'gi', 'hg'])
deep(, hh, ['gg', 'gh', 'gi', 'hg', 'hh'])
deep(, hi, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi'])
deep(4, h, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi'])
deep(, ig, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi', 'ig'])
deep(, ih, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi', 'ig', 'ih'])
deep(, ii, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi', 'ig', 'ih', 'ii'])
deep(4, i, ['gg', 'gh', 'gi', 'hg', 'hh', 'hi', 'ig', 'ih', 'ii'])
['gg', 'gh', 'gi', 'hg', 'hh', 'hi', 'ig', 'ih', 'ii']
9
[Finished in 0.4s]

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python正则表达式抓取成语网站
Nov 20 Python
举例讲解Python面向对象编程中类的继承
Jun 17 Python
vscode 远程调试python的方法
Dec 01 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
Django框架实现的分页demo示例
May 25 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
vscode写python时的代码错误提醒和自动格式化的方法
May 07 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
Python的多维空数组赋值方法
Apr 13 #Python
python多维数组切片方法
Apr 13 #Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 #Python
Python中的二维数组实例(list与numpy.array)
Apr 13 #Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 #Python
Pandas中把dataframe转成array的方法
Apr 13 #Python
Python3导入自定义模块的三种方法详解
Apr 13 #Python
You might like
php文档更新介绍
2011/07/22 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
基于Python中的yield表达式介绍
2019/11/19 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
七年级地理教学反思
2014/01/26 职场文书
治安消防安全责任书
2014/07/23 职场文书
资料员岗位职责
2015/02/10 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
Python基础详解之邮件处理
2021/04/28 Python
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技