pythonでレジっぽいの作ってみた
直前にpythonの勉強を始めたという記事をお出ししました。
以前のプログラミングの知識を使ってリハビリがてら、
マク○ナル○的なレジ機能のサンプルを作ってみました。
エラー処理などに関しては色々見直しが必要なものですが、
とりあえず曲りなりに会計まで走れるだろうということで
一旦放置して勉強に移ろうかと思います。
今回はサンプルの画像とファイルを公開いたしますので
勝手に遊んでください←
なお、サンプル画面はWindowsのコマンドプロンプト内で
対話モードでプログラムを実行しています。
下記が実際に作成したコードです。
変数はもうちょっとわかり易い名前がいいような気もしています。
パソコン内に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("終了するにはなにかキーを押してください")
なお、「マクドナルドパチもんショップ」の固有名詞は
記事公開時点ではおそらく商標登録されていないと思います。
商標登録有無ご確認の上、
本家マクドナルドへの許可が降りるようでしたら、
ご自由にご利用いただいて構いません。
成功の保証はどこにも有りません。えっへん
記事をご覧頂きまして、まことにありがとうございます。 「缶コーヒーの差し入れ」くらいの気持ちでサポートをしてくれされば とても励みになります。