-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparkir.py
67 lines (57 loc) · 2.23 KB
/
parkir.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
dict_data = []
def cek_plat(inp_plat):
for data in dict_data:
if inp_plat == data["plat"]:
return False
return True
def simpan_masuk(inp_plat, inp_waktuMasuk):
if cek_plat(inp_plat):
dict_data.append({"plat": inp_plat, "waktu_masuk": inp_waktuMasuk})
return True
else:
return False
def hitung_keluar(inp_plat, waktu_keluar):
for data in dict_data:
if data["plat"] == inp_plat:
hitung_biaya = int(waktu_keluar)-int(data["waktu_masuk"])
dict_data.remove(data)
return "Total biaya plat " + inp_plat + " : "+str(hitung_biaya*2000).replace("-","")
return False
while True:
print("""===================================
+ Sistem parkir sederhana +
===================================""")
print("1. Masuk\n2. Keluar\n3. Cek semua kendaraan\n99. Keluar")
try:
inp_pilih = int(input("Masukan angka: "))
if inp_pilih == 1: # Parkir masuk
inp_plat = input("Masukan plat nomor: ")
inp_waktuMasuk = input("Masukan waktu sekarang(jam): ")
simpan = simpan_masuk(inp_plat, inp_waktuMasuk)
if not simpan:
print("Plat sudah tersedia!")
else:
print("Plat", inp_plat, "tersimpan!")
elif inp_pilih == 2: # Parkir keluar
inp_plat = input("Masukan plat nomor: ")
inp_waktuKeluar = input("Masukan waktu sekarang(jam): ")
keluar = hitung_keluar(inp_plat, inp_waktuKeluar)
if keluar:
print(keluar)
else:
print("Plat tidak ditemukan!")
elif inp_pilih == 3: # Tampilkan semua kendaraan
if dict_data:
print("="*46)
print("+"," "*5, "Plat", " "*5, "+"," "*5,"Waktu masuk"," "*5,"+")
print("="*46)
for i in dict_data:
#print("-"*46)
print("+"," "*5, i["plat"], " "*5, "+"," "*9, i["waktu_masuk"]," "*8,"+")
print("-"*46)
else:
print("Data kendaraan tidak ada!!!")
elif inp_pilih == 99: #Keluar
break
except ValueError:
print("Harus memasukan angka!")