Gilad Yair
Gilad Yair

Reputation: 3

My function have "return" and still getting "None" when I print

# look at my code below
class User:
    def __init__(self,name, gender, age, hight, weight, activity):
        self.name = name
        self.gender = gender
        self.age = age
        self.hight = hight
        self.weight = weight
        self.activity = activity

    def __repr__(self):
        return f'Welcome back {self.name}'

    def get_name(self):
        return self.name 
    def get_gender(self):
        return self.gender
    def get_age(self):
        return self.age
    def get_hight(self):
        return self.hight
    def get_weight(self):
        return self.weight
    def get_activity(self):
        return self.activity

    def set_age(self, new_age):
        self.age = new_age
    def set_weight(self, new_weight):
        self.weight = new_weight
    def set_activity(self, new_activity):
        self.activity = new_activity

    def daily_calories(self):
        if self.gender == 'men':
            bmr = int(((66 + (13.8 * self.weight)) + (5 * self.hight)) - (6.8 * self.age))
        elif self.gender == 'women':
            bmr = int(((655 + (9.6 * self.weight)) + (1.8 * self.hight)) - (4.7 * self.age))

        if int(self.activity) == 0:
            calories_out = int((1.2 * bmr) * 1.1)
            return print(f'\nHellow {self.name} Your body need {calories_out} calories per day')     
        elif int(self.activity) == 1:
            calories_out = int((1.375 * bmr) * 1.1)
            return print(f'\nHellow {self.name} Your body need {calories_out} calories per day')
        elif int(self.activity) == 2:
            calories_out = int((1.55 * bmr) * 1.1)
            return print(f'\nHellow {self.name} Your body need {calories_out} calories per day')
        elif int(self.activity) == 3:
            calories_out = int((1.725 * bmr) * 1.1)
            return print(f'\nHellow {self.name} Your body need {calories_out} calories per day')
        else: 
            calories_out = int((1.9 * bmr) * 1.1)
            return print(f'\nHellow {self.name} Your body need {calories_out} calories per day')
        
user1 = User('User1', 'men', 41, 163, 66, 0)
print(user1.daily_calories())

Upvotes: 0

Views: 34

Answers (1)

Chris
Chris

Reputation: 36620

The print function returns None. You are returning that value.

Upvotes: 1

Related Questions