我很新的编程所以请原谅我如果有什么是没有意义的,或者如果我的字的东西不正确。我有一个关于使用元组的字典键的问题。使用元组作为密钥在Python
首先,我有用户输入的号码,
num = input("Enter a number here: ")
然后,我把这个数字值转换成元组:
numTup = tuple(num)
接下来,创建连接数字键字的字典值:
numWords = {'1': "One", '2': "Two", '3': "Three", '4': "Four", '5': "Five", '6': "Six", '7': "Seven", '8': "Eight", '9': "Nine"}
最后,我希望它打印对应的字典值t o元组中的键。我敢肯定,这就是我得到它错了。
print(numWords[numTup])
基本上我想要这个程序做的是有它打印每个用户输入的数字作为一个词,即。 456将变成“四五六”。
完整(不正确)的脚本:
num = input("Enter a number here: ")
numTup = tuple(num)
numWords = {'1': "One", '2': "Two", '3': "Three", '4': "Four", '5': "Five", '6': "Six", '7': "Seven", '8': "Eight", '9': "Nine"}
print(numWords[numTup])
目前还不清楚为什么你把它们变成元组。在字典中的键是字符串,而不是数字或元组。你从'input'得到的东西也是一个字符串。你可以直接使用它作为一个键,你已经设置它的方式,而不需要将它转换成任何东西。 – pvg
哦,我明白你的意思,你希望输入中的每个字符都可以用作关键字。但是你试图用元组本身作为关键字进行字典查找。所以如果一个元组是'('3','1','0')',你的查找就是寻找那个确切的键,而不是'3','1','0'键。您需要迭代元组的值并将这些值(它们是字符串)用作关键字。由于你的字典有键字符串。 – pvg
所以,这里的元组实际上是多余的,你可以简单地迭代你得到的字符串的字符作为输入。所以'inputtring:'中的数字将启动这样一个循环。然后在循环中,您可以打印'numWords [digit]' – pvg