見出し画像

ペアプロで割り勘アプリを作成(Python)

ここでのペアプロ(ペアプログラミング)の扱いは、どういう風に組むかを考える「ナビゲーター」とコードを記述していく「ドライバー」の二人でひとつのプログラムを作っていくというものとします。

出された課題をランダムで決められたペアで解くということが授業でとても多くありました。

これもそのひとつです。

教科書として使っていた「スッキリわかるPython入門」内にも出てきた割り勘アプリの応用です。

課題の画像の見た目通りのものを作るため、ウィンドウを使ったりしました。

MacとWindowsで表示のされ方が異なりましたが、それはさておき。

canvasとlabelの扱いが少し厄介でした。表示順番と言いますか、優先度がまだまだ理解できていなかったこともあり、他にも少し必要のない書き方になっています。

import tkinter as tk
def bt_click():
   global amount
   amount=int(entry_money.get())
   global people
   people=int(entry_members.get())
   dnum=amount/people
   pay=dnum//100*100
   if dnum>pay:
       pay=int(pay+100)
   payorg=amount-pay*(people-1)
   msg='一人あたり',int(pay),'円',people-1,'(人)、幹事は',int(payorg),'円です'
   no_label=tk.Label(root,width=400,height=15,bg='skyblue')
   no_label.place(x=10,y=290)
   lavel=tk.Label(root,text=msg,font=('Arial',15),bg='skyblue')
   lavel.place(x=10,y=290)
amount=None
people=None
root=tk.Tk()
root.title('割り勘くん')
canvas=tk.Canvas(root,width=400,height=600,bg='skyblue')
canvas.pack()
label_money=tk.Label(root,text='金額',font=('Arial',20),bg='skyblue')
label_money.place(x=10,y=60)
entry_money=tk.Entry(width=20)
entry_money.place(x=10,y=90)
label_members=tk.Label(root,text='人数',font=('Arial',20),bg='skyblue')
label_members.place(x=10,y=140)
entry_members=tk.Entry(width=20)
entry_members.place(x=10,y=170)
btn=tk.Button(root,text='計算する',font=('Arial',20),command=bt_click)
btn.place(x=10,y=230)
root.mainloop()

だけど一応作り上げられたことにほっとしました。

どういう処理をしてこう組み上げている、と解説がしっかりできるよう理解を深めつつ話し方も精進しなければと思いました。


良ければサポートよろしくお願いします!いただいたサポートは愛猫姉妹のごはんとおやつ代に使わせていただきます♡♡