【发布时间】:2017-12-10 12:43:34
【问题描述】:
我在一个列表中存储了以下 4 种水果fruits = ["Apple", "Orange", "Pear", "Watermelon"]
我使用随机数生成器“numgen”生成 1 到 5 的值。
输出将是这样的
Apple Item is available Orange Item is unavailable Pear Item is available Watermelon Item is available
如果生成的数字是 1 或 2,它应该属于 else,这将不可用。
现在我想使用'unavailablefruits' 和'availablefruits' 将else 下不可用 的水果存储到列表中,以在末尾显示可用水果并进行计数,使用类似的东西
print("The following items are unavailable")
print(unavailablefruits)
print('Number of fruits available = ' + availablefruits)
print('Percentage of fruits available = " + percent)
我还希望通过'percent' 显示可用水果的百分比,以在最后实现类似的目标
输出:
Apple
Item is available
Orange
Item is unavailable
Pear
Item is available
Watermelon
Item is available
The following items are unavailable:
Orange
Number of fruits available = 3
Percentage of fruits available = 75.0
我需要一些帮助,因为我不知道如何将它们存储在列表中并为其命名。有什么建议么?
修订代码 v2
import random
class Queue:
def __init__(self):
self.container = []
def __len__(self):
return len(self.container)
def is_empty(self):
return len(self) == 0
def enqueue(self, item):
self.container.append(item)
def dequeue(self):
return self.container.pop(0)
def peek(self) :
return self.container[0]
def __iter__(self):
return iter(self.container)
fruits = ["Apple", "Orange", "Pear", "Watermelon"]
#unavailable_fruits = [f for f in fruits if random.randint(1, 5) in (1, 2)]
#available_fruits = list(set(fruits) - set(unavailable_fruits))
#percent_available = (len(available_fruits)/len(fruits)) * 100
q = Queue()
temp = fruits.copy()
fruits = ["Apple", "Orange", "Pear", "Watermelon"]
d = {fruit: random.randint(1, 5) for fruit in fruits}
unavailable = [fruit for fruit in d if d[fruit] < 3]
available = [fruit for fruit in d if d[fruit] >= 3]
for fruit in fruits:
if random.randint(1, 5) < 3:
unavailable.append(fruit)
else:
available.append(fruit)
percent_available = len(available) / (len(available) + len(unavailable)) * 100
for fruit in temp:
q.enqueue(fruit)
print(fruit)
numgen = random.randint(1, 5)
if(numgen >= 3):
print("Item is available")
else:
print("Item is unavailable")
print("The following items are unavailable")
print(unavailable)
print('Number of fruits available = ' + str(available))
print('Percentage of fruits available = ' + str(percent_available))
输出
Apple
Item is unavailable
Orange
Item is available
Pear
Item is unavailable
Watermelon
Item is available
The following items are unavailable
['Apple', 'Watermelon', 'Apple', 'Watermelon']
Number of fruits available = ['Orange', 'Pear', 'Orange', 'Pear']
Percentage of fruits available = 50.0
【问题讨论】:
标签: python data-structures queue