**### 前提・実現したいこと
簡単な自動販売機ツールを作ろうと思ってますが、エラーが出てしまい、困っています
**
ここに質問の内容を詳しく書いてください。
1、残金(数値)を入力し、残金を表示
2、リスト内の商品を入力
3、ディレクトリの金額を反映し、残金-商品代金とする
4、while文を使い、2の作業から残金が0になるまで繰り返す。
これを行おうと思っています。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\Users※※※伏せてます※※※\python勉強\練習場.py", line 18, in <module> syouhin_kingaku = int(menu_list.get(syouhin))#購入商品の金額をsyouhin_kingakuに代入 TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' ### 該当のソースコード menu_list = {"コーヒー(300円)":"300","牛乳(200円)":"200","水(100円)":"100"} nyuukin = input("お金を入れて下さい>>") zankin = int(nyuukin)#入金した金額の値を数値に直す while (zankin) > 0:#残金が0になるまで繰り返す print("残金は{}円です".format(zankin))#入力した残金を表示 print("以下のメニューから商品を選択してください\n------------------") print("\n".join(menu_list))#メニューリストを表示 syouhin = input("------------------\n>>")#購入商品を入力 print("{}を購入しました".format(syouhin)) syouhin_kingaku = int(menu_list.get(syouhin))#購入商品の金額をsyouhin_kingakuに代入 zankin = (int(syouhin_kingaku) - int(zankin))#残金を(残金-商品金額)の値にする if zankin < 1: print("お金が無くなりました")
試したこと
int関数~~と出ているように思って、いろいろと文字列と数値を足し算していないか、
int関数が抜けていないかなどを気にしているのですが、改善されません。
補足情報(FW/ツールのバージョンなど)
python3を使っています。
python勉強し始めたばっかの初心者で、的外れな質問かもしれないですが、
お助けいただければ幸いです。
ネットで自動販売機ツールを作っているサイトをいくつか見たのですが、
どうにもわからなく.....
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー