type error の直し方が分からない
二つの商品の単位値段を求めてgもしくは個数当たりの値段の違いとどちらがお得かを求めるものを作りたいのですが、恐らく関数の途中でtype errorが出てきてしまいます。type errorの意味とどこをどう直せばいいのかご教授お願いいたします
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\Users\__\Pictures\a.py", line 29, in <module> e = nedan(a, b) File "C:\Users\___\Pictures\a.py", line 27, in nedan return q / p TypeError: unsupported operand type(s) for /: 'str' and 'str'
該当のソースコード
python
1# coding:utf-8 2print("今から、金額の比較を始めます") 3#二つの質量や個数の異なる商品の一単位当たりの金額の比較をする 4print("一つ目の商品の『値段』を記入してください") 5a = input() 6print("承りました") 7print("次は、一つ目の商品の個数、または質量を記入してください") 8b = input() 9if a > b: 10 print("ありがとうございます") 11else : 12 print("やり直してください") 13 14print("二つ目の商品の『値段』を記入してください") 15c = input() 16print("承りました") 17print("次は、二つ目の商品の個数、または質量を記入して下さい") 18d = input() 19if c > d: 20 print("ありがとうございます") 21else: 22 print("やり直してください") 23 24print("計算します") 25#aをbで割って単位値段を求める式を関数化する 26def nedan(q, p): 27 return q / p 28 29e = nedan(a, b) 30f = nedan(c, d) 31if e > f: 32 g = e - f 33 print("一つ目の商品が一つ当たり %g 円安いです!") 34else: 35 h = f - e 36 print("二つ目の商品が一つ当たり %h 円安いです!")
試したこと
関数の簡略化
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。