41547


あらかじめ部品名をリスト化  
リストと入力した部品名を照合→対応した加工寸法表示するというプログラムを作ってみました。

ただこれでは部品名が増えるたびに、elif を追加することになります。部品名は数十種類になりそうなのでもっと短縮してコードを書く方法はないでしょうか？？

[code]

    material = ["部品A","部品B","部品C", "部品D"] #7mm,8mm,9mm,10mmと仮定する
    x = input()
    
    if material[0] == x: #　xは読み込んだ値
        print("7mm")
    elif material[1] == x:
        print("8mm")
    elif material[2] == x:
        print("9mm")
    elif material[3] == x:
        print("10mm")
        ・
        ・
        ・
    
[/code]


CC BY-SA 3.0
2018-02-07T12:50:56.703
41543
2018-02-07T17:09:00.683
2018-02-07T17:09:00.683
49
27321
question
python python3
if文の書き方。


キーと値で対となる「ディクショナリ」を定義しておき、そこから入力した内容（キー）に一致する値を出力するのが良さそうです（単純なやり方ならif文無しでも書けてしまいそうですが）。

[code]

    material = {"部品A":"7mm", "部品B":"8mm", "部品C":"9mm", "部品D":"10mm"}
    x = input()
    
    print(material.get(x, 'Not Found'))
    
[/code]

参考：  
<https://www.python-izm.com/basic/dict/>


CC BY-SA 3.0
2018-02-07T13:22:36.633
41547
2018-02-07T13:22:36.633
3060
41543
answer