#
# 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。
#
# 示例 1:
# 输入: 12258
# 输出: 5
# 解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"
# [1 2 3 5 5]
# 122 5
# 12 25
# 1225 8
# 122 58
def func(n):
n=str(n)
tmp=1
num=1
for i in range(len(n)-1):
if n[i]+n[i+1]>='10' and n[i]+n[i+1]<='25':
num,tmp=num+tmp,num#理解算法思路后得到
else:
tmp=num
return num
n=12258
print(func(n))
Python练习题——字符翻译
最新推荐文章于 2021-02-05 11:53:53 发布