В этой задаче хакерранка я предполагаю написать класс Person с переменной экземпляра age и конструктором, который принимает целое число initialAge в качестве параметра.Конструктор должен присвоить initialAge age после подтверждения переданного аргумента как неотрицательного;если передается отрицательный аргумент как, конструктор должен установить в значение и вывести Age недопустимым, установив age в 0 .. Кроме того, вы должны написать следующие методы экземпляра:
- yearPasses ()увеличьте переменную экземпляра на.
- amIOld () должен выполнить следующие условные действия:
- If, напечатать Вы молоды ..
- Если и, напечатать Вы подросток..
- В противном случае распечатайте Вы старый ..
Это код:
class Person:
def __init__(self,initialAge):
# Add some more code to run some checks on initialAge
self.initialAge = age
def amIOld(self):
# Do some computations in here and print out the correct statement to the console
if age <= 0:
age is 0
print("Age is not valid, setting age to 0")
elif age < 13:
print("You are young.")
elif 13 <= age < 18:
print("You are teenager.")
else:
print("You are old.")
def yearPasses(self):
# Increment the age of the person in here
return age+1
t = int(input())
for i in range(0, t):
age = int(input())
p = Person(age)
p.amIOld()
for j in range(0, 3):
p.yearPasses()
p.amIOld()
print("")
Это ввод:
4
-1
10
16
18
Это ожидаемый вывод:
Age is not valid, setting age to 0.
You are young.
You are young.
You are young.
You are a teenager.
You are a teenager.
You are old.
You are old.
You are old.
это мой вывод:
Age is not valid, setting age to 0
Age is not valid, setting age to 0
You are young.
You are young.
You are teenager.
You are teenager.
You are old.
You are old.
Что не так с моим кодом?