Last active
January 12, 2022 15:50
-
-
Save alipbudiman/9683aa38f61fb7c49f3abba021174173 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PEMASUKAN = {} | |
PENGELUARAN = {} | |
def Catat_pemasukan(bulan,tahun,nominal): | |
if int(nominal) > 0: | |
key = bulan+" "+tahun | |
PEMASUKAN[key] = int(nominal) | |
return key+" +"+nominal | |
def Catat_pengeluaran(bulan,tahun,nominal): | |
if int(nominal) > 0: | |
key = bulan+" "+tahun | |
PENGELUARAN[key] = int(nominal) | |
return key+" -"+nominal | |
def rerata_pemasukan(): | |
if len(PEMASUKAN) > 0: | |
total = 0 | |
for rata_rata in PEMASUKAN.values(): | |
total += rata_rata | |
return round(total/len(PEMASUKAN)) | |
def rerata_pengeluaran(): | |
if len(PENGELUARAN) > 0: | |
total = 0 | |
for rata_rata in PENGELUARAN.values(): | |
total += rata_rata | |
return round(total/len(PENGELUARAN)) | |
def pemasukan_tertinggi(): | |
ls = [] | |
res = "Pemaskuan tertinggi:" | |
for rata_rata in PEMASUKAN.values(): | |
ls.append(int(rata_rata)) | |
maximum = max(ls) | |
for filters in PEMASUKAN: | |
c = 0 | |
if PEMASUKAN[filters] == maximum: | |
c += 1 | |
res += f"\n{c}. "+str(filters) | |
res += f"\njumlah pemasukan tertinggi {maximum}" | |
return res | |
def writeandsave(data): | |
save = open("data.txt", "a") | |
save.write(data) | |
save.write("\n") | |
save.close() | |
system = "RUN" | |
while system == "RUN": | |
menu = """ | |
PROGRAM PEMASUKAN-PENGELUARAN | |
1. Catat data pemasukan. | |
2. Catat data pengeluaran. | |
3. Hitung rata-rata pemasukan. | |
4. Hitung rata-rata pengeluaran. | |
5. Pemasukan tertinggi. | |
6. Stop system. | |
""" | |
print(menu) | |
client = int(input("masukan pilihan = > ")) | |
if client == 1: | |
print("Catat pemasukan anda.") | |
RPemasukan = True | |
while RPemasukan == True: | |
data = str(input("masukan pemasukan, ketik exit untuk keluar => ")) | |
if data == "exit": | |
RPemasukan = False | |
else: | |
l_data = data.split(" ") | |
bulan = l_data[0] | |
tahun = l_data[1] | |
nominal =l_data[2] | |
Xpemasukan = Catat_pemasukan(bulan, tahun, nominal) | |
writeandsave(Xpemasukan) | |
print(Xpemasukan) | |
elif client == 2: | |
print("Catat pemasukan pengeluaran.") | |
RPengeluaran = True | |
while RPengeluaran == True: | |
data = str(input("masukan pengeluaran, ketik exit untuk keluar => ")) | |
if data == "exit": | |
RPengeluaran = False | |
else: | |
l_data = data.split(" ") | |
bulan = l_data[0] | |
tahun = l_data[1] | |
nominal =l_data[2] | |
Xpengeluaran = Catat_pengeluaran(bulan, tahun, nominal) | |
writeandsave(Xpengeluaran) | |
print(Xpengeluaran) | |
elif client == 3: | |
x_data = rerata_pemasukan() | |
print(x_data) | |
elif client == 4: | |
x_data = rerata_pengeluaran() | |
print(x_data) | |
elif client == 5: | |
x_data = pemasukan_tertinggi() | |
print(x_data) | |
elif client == 6: | |
system = "STOP" | |
writeandsave(system) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment