0

Hello everyone this is a sample code that I am working on for our school work.

class Item:
    
    list = []
    
    def __init__ (self, name, num):
        Item.list.append(self)
        self.name = name
        self.num = num
        
bread = Item("Bread", 20)
rice = Item("Rice", 30)
fruits = Item("Fruits", 40)
vegetables = Item("Vegetables", 25)
meat = Item("Meat", 35)

for i in Item.list:
    print(f"{i.name}, {i.num}")

def withdraw():
    b = int(input(print("nHow many bread would you take? "))) 
    r = int(input(print("nHow many rice would you take? ")))  
    f = int(input(print("nHow many fruits would you take? "))) 
    v = int(input(print("nHow many vegetables would you take? ")))
    m = int(input(print("nHow many meat would you take? ")))
   
    bread.num = bread.num - b
    rice.num = rice.num - r
    fruits.num = fruits.num - f
    vegetables.num = vegetables.num - v
    meat.num = meat.num - m
withdraw()

for i in Item.list:
    print(f"{i.name} : {i.num}")

The output every time it prints is like this

How many bread would you take
None

Why is it printing None? and how can I stop that. Thanks.

john Asked question May 13, 2021