Создан класс, который описывает человека (имя, адрес и т. Д.). Он должен печатать все свойства, код которых находится в следующих строках.

class Person:
    personNo=0
    def _init_(unit,first_name,last_name,age,address):
            unit.personsfirstname=first_name
            unit.lastname=last_name
            unit.personsage=age
            unit.address=address
            unit.personNo+=1
    def ShowInfo(unit):
            print("Ονομα: "+unit.personsfirstname+ "Επιθετο: "+unit.lastname+ "Ηλικια: "+unit.personsage+ "Οδος: "+unit.address=address)#The problem is here
            


person1=Person("George","Stefanopoulos","55","Alpha street 33")
person2=Person("Μαρια","Πενταγιωτισα","25","Παπαλαμπρενας 28")

Итак, при выполнении кода появляется ошибка: выражение может не содержать присваивания, возможно, вы имели в виду «==»? .Проблема возникла где находится заметка. Следует отметить, что этот код основан на другом примере кода, который отлично работает.

-1
ronin512 23 Ноя 2021 в 16:41
Что вы пытаетесь сделать с +unit.address=address)? Вы имели в виду +, а не =? И это __init__ не _init_
 – 
It_is_Chris
23 Ноя 2021 в 16:44

1 ответ

Лучший ответ

Прежде всего, конструктор должен быть __init__, а не _init_
Во-вторых, у вас есть = внутри функции print, где вы пытаетесь создать строку вывода.
Я предлагаю использовать метод __str__:

class Person:
    personNo=0
    def __init__(self,first_name,last_name,age,address):
            self.personsfirstname=first_name
            self.lastname=last_name
            self.personsage=age
            self.address=address
            self.personNo+=1

    def __str__(self):
            s = "Ονομα: "+self.personsfirstname+ " Επιθετο: "+self.lastname+ " Ηλικια: "+self.personsage+ " Οδος: "+self.address
            return s
            


person1=Person("George","Stefanopoulos","55","Alpha street 33")
person2=Person("Μαρια","Πενταγιωτισα","25","Παπαλαμπρενας 28")

# thanks to __str__ method, you can do:
print(person1)
Ονομα: George Επιθετο: Stefanopoulos Ηλικια: 55Ο δος: Alpha street 33
print(person2)
Ονομα: Μαρια Επιθετο: Πενταγιωτισα Ηλικια: 25Οδος: Παπαλαμπρενας 28

0
yondaime 23 Ноя 2021 в 18:42