Untitled

 avatar
unknown
plain_text
a month ago
1.9 kB
11
Indexable
class Order:
    def __init__(self):
        self.orderNum = ""
        self.date = ""
        self.email = ""
        self.option = ""
        self.cost = 0.0
        self.rating = 0

def readFile():
    orders = []

    with open("orders.txt", "r") as file:
        lines = file.readlines()

        for line in lines:
            line = line.replace("\n", "")
            subline = line.split(",")
            
            order = Order()
            order.orderNum = subline[0]
            order.date = subline[1]
            order.email = subline[2]
            order.option = subline[3]
            order.cost = float(subline[4])
            order.rating = int(subline[5])
            orders.append(order)

    return orders

def writeFile(orders, position):
    with open("winningCustomer.txt", "w") as file:
        if position >= 0:
            file.write(orders[position].orderNum + "," + orders[position].email + "," + orders[position].cost)
        else:
            file.write("No winner")
            
def winningCustomer(orders):
    position = -1
    index = 0

    month = input("Enter the first three letters of the month to search: ")

    while position == -1 and index < len(orders):
        if orders[index] == month and orders[rating] == 5:
            position = index
            
        index = index + 1

    return position

def countOption(orders):
    delivered = 0
    collected = 0
    for order in orders:
        if order.option == "Delivery":
            delivered += 1
        elif order.option == "Collection":
            collected += 1
    return delivered, collected
            

def displayTotals(orders):
    delivered, collected = countOption(orders)
    print("Total number of orders delivered to date:", delivered)
    print("Total number of orders collected to date:", collected)

orders = readFile()
position = winningCustomer(orders)
writeFile(orders, position)
displayTotals(orders)
Leave a Comment