как запустить этот код? python
class Soldat():
def __init__(self,name,age,gender,height,weight):
self.name=name
self.age=age
self.gender=gender
self.height=height
self.weight=weight
def prints(self):
print("""
{}-soldier name
{}-soldier age
{}-soldier gender
{}-soldier height
{}-soldier weight
""".format(self.name,self.age,self.gender,self.height,self.weight))
class Armiya(Soldat):
def soldier(self):
s1=("Ali",19,"erkak",155,75)
s2=("qiz bola",17,"Ayol",140,55)
s3=("Alisher",20,"erkak",160,65)
if s1.age>18 and s1.gender=="erkak" and s1.height>150 and s1.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s1.name))
else:
print("{}-Yo'nalish:Tank askar".format(s1.name))
if s2.age>18 and s2.gender=="erkak" and s2.height>150 and s2.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s2.name))
else:
print("{}-Yo'nalish:Tank askar".format(s2.name))
if s3.age>18 and s3.gender=="erkak" and s3.height>150 and s3.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s3.name))
else:
print("{}-Yo'nalish:Tank askar".format(s3.name))
Ответы (1 шт):
Автор решения: Kers
→ Ссылка
Вот "рабочий" вариант остальное в комментариях в коде.:
class Soldat():
def __init__(self,name,age,gender,height,weight):
self.name=name
self.age=age
self.gender=gender
self.height=height
self.weight=weight
def prints(self):
print("""
{}-soldier name
{}-soldier age
{}-soldier gender
{}-soldier height
{}-soldier weight
""".format(self.name,self.age,self.gender,self.height,self.weight))
class Armiya(Soldat):
def soldier(self):
# s1=("Ali",19,"erkak",155,75) # это кортеж с которым Вы не работаете далее в коде.
s1=Soldat("Ali",19,"erkak",155,75) # а это экземпляр класса soldat которые ожидается далее в коде.
s2=Soldat("qiz bola",17,"Ayol",140,55)
s3=Soldat("Alisher",20,"erkak",160,65)
if s1.age>18 and s1.gender=="erkak" and s1.height>150 and s1.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s1.name))
else:
print("{}-Yo'nalish:Tank askar".format(s1.name))
if s2.age>18 and s2.gender=="erkak" and s2.height>150 and s2.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s2.name))
else:
print("{}-Yo'nalish:Tank askar".format(s2.name))
if s3.age>18 and s3.gender=="erkak" and s3.height>150 and s3.weight>75:
print("{}-Yo'nalish:Piyoda askar".format(s3.name))
else:
print("{}-Yo'nalish:Tank askar".format(s3.name))
s = Soldat("name", 18, "male", 10, 20) # Создает экземпляр с заданными параметрами..
s.prints() # Используем метод (просто печатаем инфо)
print("------------------")
a = Armiya("name", 18, "male", 10, 20) # Зачем передаем не используемые в последствии параметры?
a.soldier() # Вызов метода...
Переписанный класс:
class Armiya():
def add(self, Sold):
for i in Sold:
self.soldier(i)
def soldier(self, soldat):
if soldat.age > 18 and soldat.gender == "erkak" and soldat.height > 150 and soldat.weight > 75:
print("{}-Yo'nalish:Piyoda askar".format(soldat.name))
else:
print("{}-Yo'nalish:Tank askar".format(soldat.name))
# Создаем список солдат...
s_list=[]
s_list.append(Soldat("Ali",19,"erkak",155,80))
s_list.append(Soldat("qiz bola",17,"Ayol",140,55))
s_list.append(Soldat("Alisher",20,"erkak",160,65))
a = Armiya()
a.add(s_list) # для списка солдат
a.soldier(Soldat("Alisher_new",20,"erkak",160,65)) # для одного солдата