我很新的編程所以請原諒我如果有什麼是沒有意義的,或者如果我的字的東西不正確。我有一個關於使用元組的字典鍵的問題。使用元組作爲密鑰在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