前提・実現したいこと
POSシステムを作っているのですが、商品の合計金額が出ません。どうしたらよろしいでしょうか?
ここに質問の内容を詳しく書いてください。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
= RESTART: C:\Users\tetsu\OneDrive\ドキュメント\Sogo\Programming Language\Python3\apulication\POS system. py.py
いらっしゃいませ
orange
cherries
grapes
kiwi
apples
pen
pencil
eraser
tag
1001
how many?8
orangeが8個単価は100合計金額は['1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180', '1009', 'tag', '180']
エラーメッセージ
該当のソースコード
#ループ
while True:
#買うもの、個数を聞く
code = input()
quantify=int(input("how many?"))
#ループから抜ける処理 if code==000: exit #バーコードを検索する for line in bcode: #見つかったら、リセットする if code in line: data=line #出力 price=quantify*line print(data[1] + "が" + str(quantify) + "個" + "単価は" + data[2] + "合計金額は" + str(price) )
ソースコード #start print("いらっしゃいませ") # ファイルのオープン bcode_file = open( 'data01.csv' , 'r' ) # 変数の初期化 bcode = [] i = 0 total = 0 # ファイルの内容を読み込み、二次元配列の変数に代入する for line in bcode_file: bcode.append( line.strip().split(',') ) print( bcode[i][1] ) i += 1 #ループ while True: #買うもの、個数を聞く code = input() quantify=int(input("how many?")) #ループから抜ける処理 if code==000: exit #バーコードを検索する for line in bcode: #見つかったら、リセットする if code in line: data=line #出力 price=quantify*line print(data[1] + "が" + str(quantify) + "個" + "単価は" + data[2] + "合計金額は" + str(price) ) #totalを定義して、合計金額を出力 total += int(data[2]) print("合計金額" + str(total) + "円") #changeを定義し、支払った金額を入力し、おつりを出力する pay=int(input("払った金額")) change = pay - total if change>=0: print(str(change) + "円のおつりです") elif change==0: print("おつりは、0円です") else: print("今回の未納金は" + str(-1*change) + "円です" ) #終了 print("又のお待ちをお待ちしております")
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Python IDLE
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー