我是编程新手…我的代码非常简单。假设我的电话号码是“123”,那么我想得到“abc”,请检查我哪里错了
def number2char(number):
search_array = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
replace_array = ["a", "b", "c", "d", "d", "e", "f", "g", "h", "i"]
num_2_char = number.replace(search_array, replace_array);
return num_2_char;
我在这里遇到这样一个错误
num_2_char = number.replace(search_array, replace_array); TypeError: expected a character buffer object
请帮帮我。。。在
你可以用字典代替。这里有几个步骤:
'123'
),但是没有理由不能让函数同时接受数值和字符串输入。在join()
将所有字符重新连接到一个字符串中。在一种方法如下:
在本例中,我使用了}中的输入,代码就不会崩溃;相反,他们只会返回下划线。可能有更好的方法来处理这个问题,但是它比仅仅以
replace_dict.get(str(item), '_')
,这样如果有人给出了一个不在{replace_dict[item]
的形式访问字典安全。在问题是^{} 用替换子串替换了一个子串。这就是错误的意思:它需要一个子字符串,而您给了它一个单独字符的列表。在
您可以循环替换对,为每个替换对调用
replace
:或者,您可以使用^{} ,它实际上可以实现您想要的功能,尽管它需要一些设置:
^{pr2}$或者,或者,更具可读性:
顺便说一句,如果您不是有意地连续指定
d
两次,那么可能会更清楚(而且更难犯这种错误!)要指定如下字母:相关问题 更多 >
编程相关推荐