Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Every Person is Unique by dobyvillanueva
from datetime import date
class Person:
def __init__(self, first_name, last_name, birth_date, job, working_years, salary, country, city, gender='unknown'):
self.first_name = first_name
self.last_name = last_name
self.birth_date = birth_date
self.job = job
self.working_years = working_years
self.salary = salary
self.country = country
self.city = city
self.gender = gender
def name(self):
return "{first} {last}".format(first=self.first_name, last=self.last_name)
def age(self):
dd, mm, yyyy = map(int, self.birth_date.split('.'))
return int((date(2018,1,1) - date(yyyy,mm,dd)).days/365.2425) # should have been date.today() but "today" date is specified as 2018,1,1
def work(self):
if self.gender is "male":
prefix = "He is"
elif self.gender is "female":
prefix = "She is"
else:
prefix = "Is"
return "{start} a {work}".format(start=prefix, work=self.job)
def money(self):
return "{:,}".format(self.working_years * 12 * self.salary).replace(',', ' ')
def home(self):
return "Lives in {city}, {country}".format(city=self.city, country=self.country)
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
def json_dict(d):
return dict((k, list(v)) for k, v in d.items())
p1 = Person("John", "Smith", "19.09.1979", "welder", 15, 3600, "Canada", "Vancouver", "male")
p2 = Person("Hanna Rose", "May", "05.12.1995", "designer", 2.2, 2150, "Austria", "Vienna")
assert p1.name() == "John Smith", "Name"
assert p1.age() == 38, "Age"
assert p2.work() == "Is a designer", "Job"
assert p1.money() == "648 000", "Money"
assert p2.home() == "Lives in Vienna, Austria", "Home"
print("Coding complete? Let's try tests!")
June 8, 2018
Comments: