2016-05-14 2 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

である私は、プロジェクトの仕様が何であるかわからないが、コードは確かに大丈夫に見えます。ちょっとしたポインタ。

基本的な車の説明を印刷する機能を追加することを検討してください。 Like

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()    
関連する問題