此程序应该获取3项信息,存储信息然后显示信息
第1项
第2项
第3项
但是我收到了这个错误:第47行,在主list_display(库存)中 NameError:未定义全局名称“list_display”
我是新手,我确信我已经看了一些东西,但我无法理解。任何帮助将不胜感激。
# This RetailItem class holds data about products.
class RetailItem:
# __int__ method initializes the attributes.
def __init__(self, description, units, price):
self.__item_description = description
self.__units_in_inventory = units
self.__price = price
# The set_item_description method gets the item type.
def set_item_description(self, description):
self.__item_description = description
# The set_units_in_inventory method gets number of items available.
def set_units_in_inventory(self, units):
self.__units_in_inventory = units
# The set_price method gets the cost of item.
def set_price(self, price):
self.__price = price
# The get_item_description method returns the item type.
def get_item_description(self):
return self.__item_description
# The get_units_in_inventory returns the number of items available.
def get_units_in_inventory(self):
return self.__units_in_inventory
# The get_price method returns the cost of item.
def get_price(self):
return self.__price
# This program will test the RetailItem class and return information
# using the mutator method.
import sys
# This defines the main function.
def main():
# Get a list of RetailItem objects.
inventory = make_list()
# Display the data in the list.
print('Here is the data you entered:')
list_display(inventory)
# The make_list will get data for three items. It will
#return a list of available items.
def make_list():
# Create an empty list.
item_list = []
# Add three item to the list.
print('Enter data for three items.')
for count in range(1, 4):
# Get item data.
print('Item number ' + str(count) + ':')
item = input('Enter description of item: ')
units = float(input('Enter number of units in inventory: '))
price = float(input('Enter price per item: '))
print()
# Creat new RetailItem and assign items variable.
items = RetailItem(item, units, price)
# Add items to list.
item_list.append(items)
return item_list
#Display the items information.
def display_list(item_list):
for item in item_list:
print(item.get_item_description())
print(item.get_units_in_inventory())
print(item.get_price())
print()
# Call the main function.
main()
答案 0 :(得分:-1)
问题在于您调用了错误的函数list_display(inventory)
,并且您在display_list(item_list)
内定义了make_list()
。
我已将display_list(item_list)
移出make_list()
并将list_display(inventory)
更改为display_list(inventory)
。
# This RetailItem class holds data about products.
class RetailItem:
# __int__ method initializes the attributes.
def __init__(self, description, units, price):
self.__item_description = description
self.__units_in_inventory = units
self.__price = price
# The set_item_description method gets the item type.
def set_item_description(self, description):
self.__item_description = description
# The set_units_in_inventory method gets number of items available.
def set_units_in_inventory(self, units):
self.__units_in_inventory = units
# The set_price method gets the cost of item.
def set_price(self, price):
self.__price = price
# The get_item_description method returns the item type.
def get_item_description(self):
return self.__item_description
# The get_units_in_inventory returns the number of items available.
def get_units_in_inventory(self):
return self.__units_in_inventory
# The get_price method returns the cost of item.
def get_price(self):
return self.__price
# This program will test the RetailItem class and return information
# using the mutator method.
import sys
# This defines the main function.
def main():
# Get a list of RetailItem objects.
inventory = make_list()
# Display the data in the list.
print('Here is the data you entered:')
display_list(inventory)
# The make_list will get data for three items. It will
#return a list of available items.
def make_list():
# Create an empty list.
item_list = []
# Add three item to the list.
print('Enter data for three items.')
for count in range(1, 4):
# Get item data.
print('Item number ' + str(count) + ':')
item = input('Enter description of item: ')
units = float(input('Enter number of units in inventory: '))
price = float(input('Enter price per item: '))
print()
# Creat new RetailItem and assign items variable.
items = RetailItem(item, units, price)
# Add items to list.
item_list.append(items)
return item_list
#Display the items information.
def display_list(item_list):
for item in item_list:
print(item.get_item_description())
print(item.get_units_in_inventory())
print(item.get_price())
print()
# Call the main function.
main()