Compare commits

...
4 Commits
Author SHA1 Message Date
wind-explorer 6eda77cc88 save persistent inventory 2026-09-25 15:10:53 +08:00
wind-explorer 4e93e266c1 track delivery history 2026-09-25 15:09:58 +08:00
wind-explorer 7b19f6163d remove unrelated staged files 2026-09-25 15:09:09 +08:00
wind-explorer bc9769a2df add inventory loading 2026-09-25 15:08:27 +08:00
+84
View File
@@ -0,0 +1,84 @@
def get_valid_input():
global failed_attempts
while True:
user_input = input("Enter stock quantity: ").strip()
if user_input.lower() == "quit":
return "quit"
if not user_input.isdigit():
print("Error: Invalid input. Please enter a non-negative integer.\n")
failed_attempts += 1
continue
quantity = int(user_input)
if quantity < 0:
print("Error: Negative numbers are not allowed.\n")
failed_attempts += 1
continue
return quantity
def process_delivery(current_total, new_value):
return current_total + new_value
def calculate_tax(amount):
return amount * 0.10
def generate_report(total_units, failed_attempts):
print("\n--- Audit Report ---")
print(f"Total Units Processed: {total_units}")
print(f"Failed/Rejected Entries: {failed_attempts}")
def load_inventory():
try:
with open("inventory.txt", "r") as inventory_file:
inventory = int(inventory_file.readline().strip())
history_line = inventory_file.readline().strip()
history = [] if not history_line else [int(value) for value in history_line.split(",")]
return inventory, history
except FileNotFoundError:
return 0, []
def save_inventory(inventory, transaction_history):
with open("inventory.txt", "w") as inventory_file:
inventory_file.write(f"{inventory}\n")
inventory_file.write(",".join(str(quantity) for quantity in transaction_history))
inventory_file.write("\n")
inventory, transaction_history = load_inventory()
total_units = 0
failed_attempts = 0
print("=== Stock Auditor ===")
print("Type 'quit' to exit.\n")
while True:
quantity = get_valid_input()
if quantity == "quit":
save_inventory(inventory, transaction_history)
break
tax = calculate_tax(quantity)
transaction_history.append(quantity)
inventory = process_delivery(inventory, quantity)
total_units = process_delivery(total_units, quantity)
print(f"Stock added. Current inventory: {inventory}")
print(f"Tax on this delivery: ${tax:.2f}\n")
if inventory > 500:
print(f"ALERT: Overstock detected! Inventory ({inventory}) exceeds 500 units.")
break
generate_report(total_units, failed_attempts)