[英]Converting an integer to a sequence of letters using a function
我想创建一个 function,它接受一个 integer(比如 234)并将其作为字母 (cde) 返回。
我设法形成了一些代码,将数字分成数字部分
def toLetter(n):
x = str(n)
for elem in x:
print(elem)
d = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f', 6 : 'g', 7 : 'h', 8 : 'i', 9 : 'j'}
for n in x:
d[n]
toLetter(234)
但我真的很挣扎;
cde
而不是
c
d
e
任何帮助将不胜感激。 我是新来的,所以这可能是微不足道的,但我来这里是不得已的选择。
您应该使用字符串作为字典中的键。
一种简单的方法,使用生成器/理解:
def toLetter(num):
d = dict(zip('0123456789', 'abcdefghij'))
return ''.join(d[i] for i in str(num))
更好的是,使用翻译表:
def toLetter(num):
t = str.maketrans('0123456789', 'abcdefghij')
return str(num).translate(t)
例子:
toLetter(123)
# 'bcd'
因此,为了 select 字典中的元素,您必须将数字转换回整数。 此外,为了创建最终答案,我只需将每个字母 append 转换为一个字符串并打印最终字符串:
def toLetter(n):
d = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f', 6 : 'g', 7 : 'h', 8 : 'i', 9 : 'j'}
x = str(n)
result = ''
for elem in x:
result = result + d[int(elem)]
print(result)
toLetter(234)
Output:
cde
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.