我在Visual Studio code中编写了这段代码,并在终端中运行,我可以为列表输入一个条目,在我输入第一个条目后,它会显示数据,但它不允许我一次输入多个条目,而无需在终端中再次运行文件来输入另一个条目。在我输入三个条目后,我试图总共打印一次这三个条目。有什么建议/窍门吗?
# This imports the sys module.
import sys
# This Retail Item class holds data about products.
class RetailItem:
# __init__ 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 is the main function, it gets a list of Retail Items, and then displays them.
def main():
inventory = make_list()
print('Here is the Retail Item list 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
# This display_list function displays the items.
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()
# This calls the main function.
main()
行return item_list
应该在for循环之外。参考以下代码:
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