質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Python 3.x

    6296questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

辞書で、入力された値に対して対応する値を返すようにしたい。

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 105

yosshi

score 3

 前提・実現したいこと

辞書で、入力された値に対して対応する値を返すようにしたい。

 発生している問題・エラーメッセージ

Please Enter Number110000000000
Traceback (most recent call last):
  File "mydict.py", line 21, in <module>
    print(mydict("m"))
TypeError: 'dict' object is not callable

 該当のソースコード

m = input("Please Enter Number")

mydict = {"110000000000":1, "101000000000":2, "100100000000":3, \
"100010000000":4, "100001000000":5, "100000100000":6, "1000000010000":7, \
"100000001000":8, "100000000100":9, "100000000010":10, "100000000001":11, \
"011000000000":12, "010100000000":13, "010010000000":14, "010001000000":15, \
"010000100000":16, "010000010000":17, "010000001000":18, "010000000100":19, \
"010000000010":20, "010000000001":21, "001100000000":22, "001010000000":23, \
"001001000000":24, "001000100000":25, "001000010000":26, "001000001000":27, \
"001000000100":28, "001000000010":29, "001000000001":30, "000110000000":31, \
"000101000000":32, "000100100000":33, "000100010000":34, "000100001000":35, \
"000100000100":36, "000100000010":37, "000100000001":38, "000011000000":39, \
"000010100000":40, "000010010000":41, "000010001000":42, "000010000100":43, \
"000010000010":44, "000010000001":45, "000001100000":46, "000001010000":47, \
"000001001000":48, "000001000100":49, "000001000010":50, "000001000001":51, \
"000000110000":52, "000000101000":53, "000000100100":54, "000000100010":55, \
"000000100001":56, "000000011000":57, "000000010100":58, "000000010010":59, \
"000000010001":60, "000000001100":61, "000000001010":62, "000000001001":63, \
"000000000110":64, "000000000101":65, "000000000011":66}

print(mydict("m"))

 試したこと

inputではなくソース内でmに具体的な値を入力しましたが出てきませんでした。

 補足情報(FW/ツールのバージョンなど)

Python3.6
Atom

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • hayataka2049

    2018/06/02 16:24

    申し訳ないですがpythonの書き方の基礎を理解していないと思うので、そういうレベルなら「何かを作る」前に入門書的なものを読み込んだ方が効率が良いと思います

    キャンセル

回答 3

checkベストアンサー

+1

mydict("m") -> =mydict[m]です。
Python チュートリアルなどで基礎を学んでください。

mydict = {"110000000000":1}
m = input("Please Enter Number")
print(mydict("m"))# TypeError: 'dict' object is not callable
print(mydict[m])  # 1

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/02 16:23

    ありがとうございます。 そうします。

    キャンセル

+1

単純に使い方を誤っているだけかと。mydict("m") ⇒ mydict[m]
『何がわからないかわからない』状態なら、入門書を買って体系的に勉強することを強くお勧めします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

単純な文法ミス。

mydict["m"]

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    While文を抜けるには・・・

    Python(というかプログラミング)初心者です。よろしくお願いします。 FizzBuzzのコードなのですが、int以外が入力されたら、whileを抜けて 'Please ent

  • 受付中

    python FizzBuzz

    こんにちは。Pythonのプログラムに関する質問ですが、 変数xの値が 3の倍数ならfizz 5の倍数ならbuzz 15の倍数ならfizzbuzz するプログラムを作って

  • 受付中

    ターミナルで実行するのに時間がかかりすぎる

    ターミナルで実行するのに時間がかかりすぎます。 画像圧縮のアルゴリズムを書いています。 N × N ピクセルのグレースケール画像があり各ピクセルの画素値は 0 から 255

  • 解決済

    outputがでず、困っています。

    下記の質問で、outputを出そうとするとエラーになってしまいます。解決方法をご存知でしょうか。 ifname=="main":の後に、エラーがでてきます。。 A user

  • 解決済

    if:条件NG時の再計算

    質問事項 質問タイトルがわかり辛くすみません。 pythonの基礎勉強をしています。 下記補足に記したように、whileループの中にif文を2つ作り、各々ifの条件次第で、各々

  • 受付中

    ff秒の最後の桁を切り捨て

    m:ss.ffの書式にフォーマットff最後の桁を切り捨てたいです。 m:ss.fにしたいです。 time_sapmle = re.split('[.]',time) if le

  • 解決済

    Python3  条件分岐 リスト 筋トレアプリ作成

    目標) 体重とベンチプレスの重量を入力すると 筋トレのレベルが分かるアプリをつくりたい まずは、上の写真の赤枠のリストを作成し、機能をつくってみた コード

  • 解決済

    printとinputについて質問です

    質問 現在プログラムに以下のように記述しています。 m = int(input('Please input [t] :')) これを、 python a.py のように実行する

同じタグがついた質問を見る

  • Python 3.x

    6296questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。