我编写了这个函数,它应该通过用户提供的字符串(如 )1-3-5,并输出相应的一系列字母,其中 A 分配给 1,B 分配给 2,C 分配给 3 等。输出的情况1-3-5是ACE. 对于2-3-4,它应该打印BCD。对于?-3-4或者--3-4它仍然应该打印BCD.这是我到目前为止编写的代码:
def number_to_letter(encoded):
result = ""
start = 0
for char in range(len(encoded)):
if encoded[char] == '-':
i = encoded.index("-")
sub_str = encoded[start:i]
if not sub_str.isdigit():
result += ""
else:
letter = chr(64 + int(sub_str))
if 0 < int(sub_str) < 27:
result += letter
else:
result += ""
start += len(sub_str) + 1
return result
print(num_to_let('4-3-25'))
我的输出是D,当它应该是的时候DCY。我试图在不使用任何列表或使用该split函数的情况下执行此操作,只需查找-子字符串中的字符并将其前面的数字转换为字母即可。我能做些什么?
慕田峪4524236
元芳怎么了
哔哔one
慕雪6442864
相关分类