我对编程相当陌生,python是我的第一语言。我是在自学,所以可能我错过了一些东西。对不起,如果我说不清楚我的问题。在
我写了一个函数,可以接受0-99之间的任何数字,并根据字典将其转换为汉语。函数如下:trans = {'0':'ling', '1':'yi', '2':'er', '3':'san', '4': 'si','5':'wu', '6':'liu', '7':'qi', '8':'ba', '9':'jiu', '10': 'shi'}
def convert_to_mandarin(us_num, flag = True):
'''
us_num, a string representing a US number 0 to 99
returns the string mandarin representation of us_num
'''
if len(us_num) == 1:
if us_num != '0':
return trans[us_num]
elif flag:
return trans[us_num]
else:
return '\b'
elif len(us_num) > 1:
if us_num[0] == '1':
return trans['10'] +' '+ convert_to_mandarin(us_num[1:], False)
else:
return trans[us_num[0]] + ' ' + trans['10'] + ' ' + convert_to_mandarin(us_num[1:], False)
else:
return convert_to_mandarin(us_num[:-1], False) + trans[us_num[-1]]
但对于以0结尾的数字,返回的字符串将带有尾随空格。例如,如果n=将“u”转换为“u”普通话(“10”),则返回n=“shi”
但我希望它是n='shi'
那么我怎样才能去掉后面的空格呢?在