我想創建一個接受整數(比如 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
任何幫助將不勝感激。我是新來的,所以這可能是微不足道的,但我是作為最后的手段來到這里的。
uj5u.com熱心網友回復:
您應該使用字串作為字典中的鍵。
一種簡單的方法,使用生成器/理解:
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'
uj5u.com熱心網友回復:
因此,為了選擇字典中的元素,您必須將數字轉換回整數。此外,要創建最終答案,我只需將每個字母附加到一個字串并列印最終字串:
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)
輸出:
cde
uj5u.com熱心網友回復:
我有一個問題,如果數字是“217”,您想要的函式會回傳“BAG”或“UG”或“BQ”嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427044.html
標籤:Python python-3.x 功能
上一篇:繪制與主列不同的列的線形圖
