2016-05-14 32 views
0

所以我必須編寫一個程序來導入在「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() 
+0

那麼*問題*是什麼?給一個[mcve],不只是一個代碼轉儲和一個模糊的描述。 – jonrsharpe

+0

我應該如何製作並顯示列表以顯示數據? – Carl

+0

這不是教程服務;如果你不知道如何開始,你還沒有準備好在這裏提問。 – jonrsharpe

回答

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方法可能會被修剪,只需要一個list參數。

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()    
相關問題