Pythonistaで家計簿アプリ

ひとまずコードから

import ui, console
import datetime
import numpy as np

global cash_total
cash_total = 0
cash_list = np.zeros(4)#宣言、初期化
code_book = {"1": "娯楽費", "2": "食費", "3": "交通費", "4": "日用品費"}
code_L = np.arange(len(code_book)) + 1#[1,2,3,4]を用意

def todayreq():
day = datetime.datetime.now()
day = day.strftime("%Y/%m/%d")
global key
key = console.input_alert('購入した日付は{0}でよろしいですか?yes:1, no:0'.format(day))
print("")
if key == '0':#pythonのverによってはinput()の戻り値は文字列
day = console.input_alert("購入した日付を入力してください。(例:2018/04/30) >>> ")
day = day.split("/")

global Y
global M
global D
Y = int(day[0])
M = int(day[1])
D = int(day[2])

def toy(sender):#uiのtoyに反応して呼び出される。
cash = console.input_alert("金額を入力してください。 >>> ")
cash_list[0] = cash_list[1-1] + int(cash)
global cash_total
cash_total = cash_total + int(cash)
if console.input_alert("終わりましたか? yes:1, no:0 >>> ") == '1':
filerw()

def eat(sender):#uiのeatに反応して呼び出される。
cash = console.input_alert("金額を入力してください。 >>> ")
cash_list[1] = cash_list[2-1] + int(cash)
global cash_total
cash_total = cash_total + int(cash)
if console.input_alert("終わりましたか? yes:1, no:0 >>> ") == '1':
filerw()

def train(sender):#uiのtrainに反応して呼び出される。
cash = console.input_alert("金額を入力してください。 >>> ")
cash_list[2] = cash_list[3-1] + int(cash)
global cash_total
cash_total = cash_total + int(cash)
if console.input_alert("終わりましたか? yes:1, no:0 >>> ") == '1':
filerw()

def item(sender):#uiのitemに反応して呼び出される。
cash = console.input_alert("金額を入力してください。 >>> ")
cash_list[3] = cash_list[4-1] + int(cash)
global cash_total
cash_total = cash_total + int(cash)
if console.input_alert("終わりましたか? yes:1, no:0 >>> ") == '1':
filerw()

def filerw():
File = open("data_file.txt", "a")
File.write("{0}\t{1}\t{2:2d}\t{3:5d}\t{4:5d}\t{5:5d}\t{6:5d}\t{7:5d}\n".format(Y, M, D, int(cash_list[0]), int(cash_list[1]), int(cash_list[2]), int(cash_list[3]), cash_total))#整数表記
File.close()

f = open('data_file.txt', 'r')
console.alert(f.read())
f.close()

todayreq()
v = ui.load_view()
v.present('sheet')

UI用意

次は上のコードに対応するユーザーインタフェースの作成です。シートにボタンを4つ作成して、それぞれのActionという項目に対応する関数名を入れて参照させるだけ。テキストファイルに家計簿がつけられているはず。

簡単にアプリが作れるようになりましたね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA