2011-11-28 83 views
1

我想将列表中的项目(例如[1,2,3,4,5,6,7,8,9])翻译为另一个列表中的项目(例如那些数字的名称)。在python中翻译用户输入

此外,我希望能够做翻译,使得当用户输入“1”,“一个”被打印出来,并且类似地为“2”,等等

下面的代码我有这么远:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
names = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 
     'eight', 'nine'] 
myDict = dict(zip(numbers, names)) 
+0

除非我错误地读你的问题,你的例子不是一个字典,这些值肯定不是字。如果您提供了示例输入和输出,它可能会有帮助。 –

+0

您可以通过阅读http://docs.python.org/tutorial/datastructures.html#dictionaries开始。提示:Python使这种东西非常容易,所以如果你的解决方案看起来非常复杂,那么你可能会比你需要的更难。 –

+0

我觉得这个问题还不清楚。你可以发布你的词典中的数据样本,以及一些输入/输出对的例子吗? – Gant

回答

2

使用input功能将允许你接受来自用户的输入并执行查询(如果我理解你的要求):

>>> mydict = {'nom':'singe', 'poids':70, 'taille':1.75} 
>>> myvar = input() 
nom 
>>> print(mydict[myvar]) 
singe 
+0

是的!谢谢!正是我在寻找的感谢。 – Vanq8ish

+0

好的,所以当我输入像1 2 3这样的空格时,会导致错误。我该如何解决? – Vanq8ish

+0

不客气;) –

0

它不会打印“NOM PIO ds“,因为你没有”nom poids“的关键字。

这会做你想要什么:

mydict = {'nom':'x', 'poids':'y','foo':'bar'} 
print mydict['nom'],mydict['poids'] 

如果你将永远是使用数字;而不是单词 - 你可以这样做:

words = ['zero','one','two','three','four','five'] 
print words[0] # This will print 'zero' 
print words[1] # This will print 'one' 

print words['1'] # This will not work, you need to use 1 and not '1'