2017-12-10 18 views
-1

果物の名前を表示するのではなく、出力で利用可能な果物の数を次のプログラムに表示しようとしていますが、原因を見つけることができませんそれの。どうすれば修正できますか?リスト(Python)の項目名の代わりに数を表示

基本的に、プログラムは1から5までの乱数を生成し、生成された数が3(1または2)未満であれば使用できません.3以上であれば使用できません。

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"] 
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 
+0

'' len(my_list) ''を使用しますか? –

+0

私はどちらの部分を使っていますか? – John

+0

予期した出力も転記してください。 –

答えて

0

変更この行:この行に

print('Number of fruits available = ' + str(available)) 

print('Number of fruits available = {}'.format(len(available))) 

出力:

Apple 
Item is unavailable 
Orange 
Item is unavailable 
Pear 
Item is unavailable 
Watermelon 
Item is available 
The following items are unavailable 
['Apple', 'Orange', 'Pear'] 
Number of fruits available = 5 
Percentage of fruits available = 62.5 
関連する問題