如何在python中将数字转换为字符串?1->';一个';

如何在python中将数字转换为字符串?1->';一个';,python,dictionary,python-3.x,Python,Dictionary,Python 3.x,如果我想要一个程序,让用户输入一个数字(例如,1,13,4354),我怎样才能让它打印出来(1,13,4,3,5,4),这有意义吗?如果是两个数字,就把它当作是连在一起的(三十一个)来打印,但是如果超过两个,就把它们单独打印出来,一行用空格连在一起,我试着用字典来做,我想这是可能的,但我不知道怎么做 l = input('Enter the number: ') if len(l) > 2: nums = {'1':'one', '2':'two',

如果我想要一个程序,让用户输入一个数字(例如,1,13,4354),我怎样才能让它打印出来(1,13,4,3,5,4),这有意义吗?如果是两个数字,就把它当作是连在一起的(三十一个)来打印,但是如果超过两个,就把它们单独打印出来,一行用空格连在一起,我试着用字典来做,我想这是可能的,但我不知道怎么做

l = input('Enter the number: ')

if len(l) > 2:
    nums = {'1':'one',
            '2':'two',
            '3':'three',
            '4':'four',
            '5':'five',
            '6':'six',
            '7':'seven',
            '8':'eight',
            '9':'nine'}
elif len(l) == 2:
    tens = {'10'}


for k, v in nums.items():
    print(k, v)

这显然是一个错误的代码,但我希望最终的结果是这样的?提前谢谢

要访问字典中的项目,可以执行
dictionary[key]
。返回

假设我的输入是
“8”

然后可以执行
打印nums[l]
(在条件语句中),这将返回
“八”


另外,如果您在条件结构之外创建词典,以防止出现
namererrors
,这样您就可以在任何地方访问这两个词典,可能会更好


如果您有一个输入
“324”
,那么您可以结合使用
str.join()
和列表理解:

l = "324"
nums = {'1':'one',
        '2':'two',
        '3':'three',
        '4':'four',
        '5':'five',
        '6':'six',
        '7':'seven',
        '8':'eight',
        '9':'nine'}

print ' '.join(nums[i] for i in l)
说明:

[nums[i]表示l中的i]
与:

returned_list = []
for number in l:
    returned_list.append(d[number])

str.join()。所以
'.join(['one','two','three'])
返回
'一两三'
要访问字典中的项目,您可以执行
字典[key]
。返回

假设我的输入是
“8”

然后可以执行
打印nums[l]
(在条件语句中),这将返回
“八”


另外,如果您在条件结构之外创建词典,以防止出现
namererrors
,这样您就可以在任何地方访问这两个词典,可能会更好


如果您有一个输入
“324”
,那么您可以结合使用
str.join()
和列表理解:

l = "324"
nums = {'1':'one',
        '2':'two',
        '3':'three',
        '4':'four',
        '5':'five',
        '6':'six',
        '7':'seven',
        '8':'eight',
        '9':'nine'}

print ' '.join(nums[i] for i in l)
说明:

[nums[i]表示l中的i]
与:

returned_list = []
for number in l:
    returned_list.append(d[number])

str.join()。所以
'.join(['one','two','three'])
返回
'一两三'
如果你这样做是为了学习,请继续。如果你要赶飞机,你可以试试。Pyparsing的其中一个部分介绍了这个练习:

如果您这样做是为了学习,请继续。如果你要赶飞机,你可以试试。Pyparsing的其中一个部分介绍了这个练习:

我知道,但是如果我输入'324',我怎么能得到'三二四'?谢谢!!现在我如何翻译22->“22”而不是“22”?以与相同的代码well@Samir对不起,我真的不打算做你的工作。我已经为您提供了表示方面的帮助,但现在轮到您去了解;)好的,如果len(l)==2:prints('-'连接(tens[I]表示I in t))
并且t是我制作的“tens”字典,我是否需要制作一个
P@Samir不完全是。因为这样你会得到类似于
“二十个”
。您可能需要将字符串拆分为“20”和“2”,然后访问字典(可能将它们合并为一个?)。我希望这有帮助!我知道,但是如果我输入'324'我怎么能得到'三二四'?谢谢!!现在我如何翻译22->“22”而不是“22”?以与相同的代码well@Samir对不起,我真的不打算做你的工作。我已经为您提供了表示方面的帮助,但现在轮到您去了解;)好的,如果len(l)==2:prints('-'连接(tens[I]表示I in t))
并且t是我制作的“tens”字典,我是否需要制作一个
P@Samir不完全是。因为这样你会得到类似于
“二十个”
。您可能需要将字符串拆分为“20”和“2”,然后访问字典(可能将它们合并为一个?)。我希望这有帮助!如果你想寻找任意的数字输入,那就变得非常困难。你必须为百/千/万/百万+编码(对于那些想破坏程序的人)。我建议迭代除法/MUTF,你发现自己在看这个问题,考虑如果你寻找任意的数字输入,那么它变得非常困难。你必须为百/千/万/百万+编码(对于那些想破坏程序的人)。我建议迭代分割/修改,你会发现自己在看这个问题,考虑一下