Buat Laporan
Termasuk bagian Logika dan Alur dalam perjalanan Python di Coddy. Pelajaran 71 dari 78.
Tantangan
SulitSistem inventaris sudah memiliki komponen berikut:
- dictionary
inventoryglobal yang:- Key adalah nama item (string)
- Value adalah dictionary yang berisi:
"price": Harga item (float)"stock": Jumlah stok saat ini (integer)
- Fungsi
add_item(item, price, stock)yang menambahkan item baru ke inventaris - Fungsi
update_stock(item, quantity)yang memperbarui jumlah stok - Fungsi
check_availability(item)yang mengembalikan jumlah stok saat ini
Tugasmu adalah mengimplementasikan fungsi sales_report(sales) yang:
- Menerima dictionary
salesyang:- Key-nya adalah nama item
- Value-nya adalah jumlah yang terjual
- Untuk setiap item dalam dictionary penjualan:
- Memeriksa apakah item tersedia dalam inventaris
- Memeriksa apakah stok mencukupi
- Memperbarui inventaris dengan mengurangi jumlah stok
- Menghitung pendapatan berdasarkan harga dan jumlah yang terjual
- Mengembalikan string berformat yang berisi total pendapatan
Tangani error khusus berikut:
- Jika item tidak tersedia dalam inventaris, cetak:
"Error: Item '{item}' not found." - Jika stok tidak mencukupi, cetak:
"Error: Insufficient stock for '{item}'."
Output harus berupa string dengan format: “Total revenue: ${total:.2f}”
Tambahkan (ganti) blok kode berikut di bagian bawah kodemu:
add_item("Apple", 0.5, 50)
add_item("Banana", 0.2, 60)
sales = {"Apple": 30, "Banana": 20, "Orange": 10} # Orange should print an error
print(sales_report(sales)) # Should output: Total revenue: $19.00
print(inventory)Coba sendiri
inventory = {}
def add_item(item, price, stock):
if item in inventory:
print(f"Error: Item '{item}' already exists.")
return
try:
inventory[item] = {"price": float(price), "stock": int(stock)}
print(f"Item '{item}' added successfully.")
except ValueError:
print("Error: Price and stock must be numeric.")
def update_stock(item, quantity):
if item not in inventory:
print(f"Error: Item '{item}' not found.")
return
try:
new_stock = inventory[item]["stock"] + int(quantity)
if new_stock < 0:
print(f"Error: Insufficient stock for '{item}'.")
else:
inventory[item]["stock"] = new_stock
print(f"Stock for '{item}' updated successfully.")
except ValueError:
print("Error: Quantity must be an integer.")
def check_availability(item):
if item not in inventory:
return "Item not found"
return inventory[item]["stock"]
add_item("Apple", 0.5, 100)
add_item("Banana", 0.2, 50)
update_stock("Apple", -20)
update_stock("Banana", 30)
print(check_availability("Apple")) # Should return 80
print(check_availability("Banana")) # Should return 80
print(check_availability("Orange")) # Should return "Item not found"Semua pelajaran di Logika dan Alur
1Eksplorasi Variabel
KonstantaPenugasan Beberapa VariabelMenukar VariabelVariabel PenampungPembulatan AngkaKonversi ke list4Aplikasi Buku Kontak
Tampilkan MenuTambahkan Kontak7Set Bagian 2
Operasi Matematika Bagian 1Operasi Matematika Bagian 2Ulasan: Berburu Harta KarunSubset dan SupersetMelakukan Perulangan pada SetUlasan: Pelacak Turnamen10Dasar list comprehension
SintaksnyaMembuat list sederhanaMenambahkan kondisiMenggunakan agregasi dataRangkuman: Rumah ListRangkuman: Elemen Kebebasan13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2dictionary Bagian 1
Apa Itu dictionary?Membuat dictionaryMengakses NilaiMengubah dictionaryRangkuman: Pengelola Resep5Pengambilan Keputusan Lanjutan
Operator TernaryPemeriksaan KeanggotaanPemeriksaan IdentitasError IndentasiRangkuman: Filter Liburan8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa3dictionary Bagian 2
Method pada dictionarydictionary BersarangMemeriksa keyMenelusuri dictionary dengan perulanganRingkasan: Penghitung Frekuensi9Agregasi Data Lanjutan
Menggunakan SumMenemukan Nilai Minimum dan MaksimumMengurutkan Data dengan EfisienRangkuman: Pengurut dictionaryLatihan sendiri: Compiler Python online