-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLAB04.py
More file actions
42 lines (40 loc) · 1.42 KB
/
Copy pathLAB04.py
File metadata and controls
42 lines (40 loc) · 1.42 KB
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
try:
print("Selamat datang di Pacil Mart!\n")
file = input("Masukkan nama file input: ")
# mengecek format file, kalau tidak ada .txt maka ditambahkan .txt
if file[-4:] != ".txt":
file += ".txt"
file_input = open(file, "r")
lines = file_input.readlines()
jumlah = 0
kembalian = 0
# Cek file kosong atau tidak
if not lines:
print("File input ada tapi kosong")
# Supaya format file sesuai
elif not all(len(line.split()) == 3 for line in lines):
print("Format file tidak sesuai")
else:
print("Nama Barang | Jumlah| Kembalian")
print("---------------------------------")
for line in lines:
line = line.split()
if int(line[2]) <= 0:
print("Harga satuan barang harus > 0")
break
if int(line[1]) <= 0:
print("Uang yang dialokasikan harus > 0")
break
jumlah = int(line[1]) // int(line[2])
kembalian = int(line[1]) % int(line[2])
if len(line[0]) > 12:
line[0] = line[0][:12]
if len(line[1]) > 8:
line[1] = line[1][:8]
if len(line[2]) > 10:
line[2] = line[2][:10]
print(f"{line[0]:<12}|{jumlah:>8}|{kembalian:>10}")
file_input.close()
# Exception kalau file tidak ada
except FileNotFoundError:
print("File tidak tersedia")