プログラミングにはとても新しいので、何かが意味をなさない場合や私が誤って単語を言いたい場合は、私を許してください。タプルを辞書のキーとして使うことについての質問があります。Pythonでキーとしてタプルを使用する
numTup = tuple(num)
次に、私は単語の数値キーを接続する辞書を作成する:
まず、私はタプルにこの数値を入れ、そしてユーザ入力を数、
num = input("Enter a number here: ")
を有します値:
numWords = {'1': "One", '2': "Two", '3': "Three", '4': "Four", '5': "Five", '6': "Six", '7': "Seven", '8': "Eight", '9': "Nine"}
最後に、私はそれに対応する辞書値を印刷したいタプルのキー。私はこれが間違っているところだと確信しています。
私はこのプログラムで何をしようとしているのかということは、各ユーザが入力した数字を単語として印刷することです。 456は "four five five six"に変わる。
フル(間違った)スクリプト:
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
タプルは実際には余計ですが、入力した文字列の文字を繰り返し処理できます。 'for digit in inputstring:'はこのようなループを開始します。ループの中で 'numWords [digit] 'を印刷するだけです。 – pvg