見出し画像

pythonでレジっぽいの作ってみた

直前にpythonの勉強を始めたという記事をお出ししました。
以前のプログラミングの知識を使ってリハビリがてら、
マク○ナル○的なレジ機能のサンプルを作ってみました。

エラー処理などに関しては色々見直しが必要なものですが、
とりあえず曲りなりに会計まで走れるだろうということで
一旦放置して勉強に移ろうかと思います。

今回はサンプルの画像とファイルを公開いたしますので
勝手に遊んでください←
なお、サンプル画面はWindowsのコマンドプロンプト内で
対話モードでプログラムを実行しています。

レジ0

レジ1

下記が実際に作成したコードです。
変数はもうちょっとわかり易い名前がいいような気もしています。
パソコン内にpythonのインストール、並びにエディタのインストールが
必要になることでしょう。(エディタはpycharmを利用してます。)
エディタにコードをコピペし、実行していただければOKです。

下記からインストールしましょう。
python(v3.10を利用しています。)
https://www.python.org/downloads/
pycharm(インストール時に「.py」の含まれる項目にチェック)
https://www.jetbrains.com/ja-jp/pycharm/
def mainmenu():
     #メインメニュー表示
     print("1,ハンバーガー:100円\n"
           "2,チーズバーガー:120円\n"
           "3,フィッシュバーガー:130円\n")
def drinkmenu():
     #ドリンクメニュー表示
     print("1,コーラ:100円\n"
           "2,オレンジジュース:80円\n"
           "3,お茶:90円")
def mainorder(a,b,c):
     #メインオーダーの注文取り
     n1=0;n2=0;n3=0;ko1=0;ko2=0;ko3=0
     mono=int(input("商品番号を入れてください>>>"))
     if mono==1:
           ko1=kosuu()
           n1=a*ko1
     elif mono==2:
           ko2=kosuu()
           n2=b*ko2
     elif mono==3:
           ko3=kosuu()
           n3=c*ko3
     else:
           print("番号が正しく有りません")
     return n1,n2,n3,ko1,ko2,ko3
def drinkorder(a,b,c):
     #ドリンクオーダーの注文取り
     n1=0;n2=0;n3=0;ko1=0;ko2=0;ko3=0
     mono=int(input("商品番号を入れてください>>>"))
     if mono==1:
           ko1=kosuu()
           n1=a*ko1
     elif mono==2:
           ko2=kosuu()
           n2=b*ko2
     elif mono==3:
           ko3=kosuu()
           n3=c*ko3
     else:
           print("番号が正しく有りません")
     return n1,n2,n3,ko1,ko2,ko3
def kosuu():
     #個数確認(メインとドリンク共通)
     kosuu=int(input("個数をどうぞ>>>"))
     return kosuu
def exit():
     #ご注文は以上ですかチェック
     ex=int(input("他にも注文しますか?\n"
                  "はい/1 いいえ/2>>>"))
     return ex
def drinkneed():
     #ドリンクもいるかチェック(1と2以外の数字で再問)
     drinkneed = int(input("ドリンクも注文しますか?\n"
                           "はい/1 結構です/2>>>"))
     return drinkneed
#=====================【初期データ】========================================
#追加注文確認用フラグ
mexit=0;dexit=0
#商品の単価
m1p=100;m2p=120;m3p=130;d1p=100;d2p=80;d3p=90
#各商品の会計値段
m1n=0;m2n=0;m3n=0;d1n=0;d2n=0;d3n=0
#各商品の注文個数
m1ko=0;m2ko=0;m3ko=0;d1ko=0;d2ko=0;d3ko=0

#=====================【以下本体】=================================
#挨拶
print("マクドナルドパチもんショップへようこそ!\n"
     "ご注文をお取りします。\n"
     "メニューを見て番号を選択してください\n")
#メインメニューの注文
while mexit<2:
     mainmenu()
     m1u,m2u,m3u,mk1u,mk2u,mk3u=mainorder(m1p,m2p,m3p)
     m1n=m1n+m1u;m2n=m2n+m2u;m3n=m3n+m3u
     m1ko=m1ko+mk1u;m2ko=m2ko+mk2u;m3ko=m3ko+mk3u
     mexit=exit()
#ドリンクメニューの注文
print("メインメニューの注文が確定しました。")
dneed=drinkneed()
while dneed < 1 or dneed > 2:
     print("もう一度お願いします")
     dneed = drinkneed()
if dneed==1:
     print("ではドリンクメニューをお出しします。\n")
     while dexit<2:
           drinkmenu()
           d1u,d2u,d3u,d1ku,d2ku,d3ku=drinkorder(d1p,d2p,d3p)
           d1n=d1n+d1u;d2n=d2n+d2u;d3n=d3n+d3u
           d1ko=d1ko+d1ku;d2ko=d2ko+d2ku;d3ko=d3ko+d3ku
           dexit=exit()
else:
     print("かしこまりました")
print("ご注文承りました。\n")
#会計へ
if m1ko>0:
     print("ハンバーガーが",m1ko,"個")
if m2ko>0:
     print("チーズバーガーが",m2ko,"個")
if m3ko>0:
     print("フィッシュバーガーが",m3ko,"個")
if d1ko>0:
     print("コーラが",d1ko,"個")
if d2ko>0:
     print("オレンジジュースが",d2ko,"個")
if d3ko>0:
     print("お茶が",d3ko,"個")
print("\n")
goukei=m1n+m2n+m3n+d1n+d2n+d3n
print("お会計は",goukei,"円です。")
input("終了するにはなにかキーを押してください")

なお、「マクドナルドパチもんショップ」の固有名詞は
記事公開時点ではおそらく商標登録されていないと思います。

商標登録有無ご確認の上、
本家マクドナルドへの許可が降りるようでしたら、
ご自由にご利用いただいて構いません。
成功の保証はどこにも有りません。えっへん

記事をご覧頂きまして、まことにありがとうございます。 「缶コーヒーの差し入れ」くらいの気持ちでサポートをしてくれされば とても励みになります。