如何导入课程和记录广告资源?

时间:2016-05-14 20:47:12

标签: python python-2.7

所以我必须编写一个程序来导入在“cars.py”中创建的类并记录库存。但是,我迷失了如何为每个人制作名单,并觉得我过分复杂了这个问题。

运行时程序的结果应类似于下面的结果;

USED CAR INVENTORY
===================

The following car is in inventory:

Make: BMW
Model: 2001
Mileage: 70000
Price: 15000.0
Number of doors: 4

The following pickup truck is in inventory.

Make: Toyota
Model: 2002
Mileage: 40000
Price: 12000.0
Drive type: 4WD

The following SUV is in inventory.

Make: Volvo
Model: 2000
Mileage: 30000
Price: 18500.0
Passenger Capacity: 5

我目前的计划是

import cars


def write_invent():
    car_invent = []

    print "Enter data for the cars."

    num_cars = input("Enter number of cars: ")

    for count in range(1, num_cars):
        make = raw_input("Enter the make: ")
        model = input("Enter the year model: ")
        mileage = input("Enter the mileage: ")
        price = input("Enter the price: ")
        doors = input("Enter the number of doors: ")

        cars = cars.Car(make, model, mileage, price)

        car_invent.append(cars)

    return car_invent


def read_invent(car_invent, truck_invent, suv_invent):
    print "USED CAR INVENTORY"
    print "=================="
    print "The following car is in inventory."

    for item in car_invent:
        print "Make:" item.get_make()
        print "Model:" item.get_model()
        print "Mileage:" item.get_mileage()
        print "Price:" item.get_price()
        print "Number of doors:" item.get_doors()

    print "The following pickup truck is in inventory."

    for item in truck_invent:
        print "Make:" item.get_make()
        print "Model:" item.get_model()
        print "Mileage:" item.get_mileage()
        print "Price:" item.get_price()
        print "Drive type:" item.get_drive_type()


    print "The following SUV is in inventory."

    for item in suv_invent:
        print "Make:" item.get_make()
        print "Model:" item.get_model()
        print "Mileage:" item.get_mileage()
        print "Price:" item.get_price()
        print "Passenger Capacity:" item.get_pass_cap()


def menu():
    print "MENU"
    print "====="
    print "1. Enter data for inventory"
    print "2. Display inventory"
    print "3. Quit"

def main():
    menu()

    choice = input("Enter choice: ")
    while choice != 3:
        if choice == 1:
            write_invent()
            choice = input("Enter choice: ")

        elif choice == 2:
            read_invent()
            choice = input("Enter choice: ")

        else:
            print "Invalid choice"
            choice = input("Enter choice: ")

main()

1 个答案:

答案 0 :(得分:0)

我不确定你的项目规范是什么,但代码肯定看起来不错。只是一个小指针。

考虑添加一个功能来打印基本的汽车描述。像

def print_desc (vehicle):
    print "Make:" item.get_make()
    print "Model:" item.get_model()
    print "Mileage:" item.get_mileage()
    print "Price:" item.get_price()

然后修改read_invent来调用它。例如:

def read_invent(car_invent, truck_invent, suv_invent):
    print "USED CAR INVENTORY"
    print "=================="
    print "The following car is in inventory."

    for item in car_invent:
        print_desc(item)
        print "Number of doors:" item.get_doors()

    print "The following pickup truck is in inventory."

    for item in truck_invent:
        print_desc(item)
        print "Drive type:" item.get_drive_type()


    print "The following SUV is in inventory."

    for item in suv_invent:
        print_desc(item)
        print "Passenger Capacity:" item.get_pass_cap()

我也可以考虑在Car类中添加'kind'属性来区分车辆的类型。

这样您只需要一个通用列表来表示您的广告资源。这意味着您的read_invent方法可能会被修剪为仅包含1个列表参数。

def read_invent(inventory):
    print "USED CAR INVENTORY"
    print "=================="
    print "The following car is in inventory."

    for item in inventory:
        print "Make:" item.get_make()
        print "Model:" item.get_model()
        print "Mileage:" item.get_mileage()
        print "Price:" item.get_price()

        if item.kind == "CAR":
            print "Number of doors:" item.get_doors()
        elif item.kind == "SUV":
            print "Passenger Capacity:" item.get_pass_cap()
        elif item.kind == "TRUCK":
            print "Drive type:" item.get_drive_type()