С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 8
1

Создать в Python класс User с атрибутами

07.10.2022, 18:44. Показов 3615. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать в Python класс User с атрибутами:
• name (имя)
• surname (фамилия)
• year_of_birth (год рождения)
Класс должен содержать конструктор, метод getAge() для вычисления возраста человека (от текущего года отнять год рождения), метод getInfo(), с помощью которого можно вывести одновременно имя, фамилию, год рождения и возраст человека. Текущий год следует получать автоматически.
Создать класс Student (Студент), который будет наследоваться от класса User и иметь дополнительные атрибуты: yearOfAdmission (год поступления в вуз) и averageScore (средний балл студента). Также данный класс должен иметь метод getCourse(), который будет возвращать текущий курс студента (от 1 до 5). Курс вычисляется также: нужно от текущего года отнять год поступления в вуз. Текущий год получите самостоятельно.
* Создайте класс Student_group, содержащий список студентов (объектов от класса Student). Также данный класс должен иметь метод best student(), определяющий студента с самым высоким средним баллом. Переопределите также в классе операции += для добавления студента в группу, -= для удаления студента из группы.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from abc import ABC, abstractmethod
 
 
class User(ABC):
 
    def __init__(self, name, surname, age):
        self.name = name
        self.surname = surname
        self.age = age
  
        
    @abstractmethod
    def get_info(self):
        print('Информация о персоне...')
 
    def get_age(self):
        return self.age
class Student(User):
 
    def __init__(self, name, surname, age, yearOfAdmission, averageScore):
        super().__init__(name, surname, age)
        self.yearOfAdmission = yearOfAdmission  # средний балл
        self.averageScore = averageScore  # год поступления 
  
        
    def get_info(self):
        return ('Имя: {}\nФамилия: {}\nДата рождения: {}\nПоступил: {}\nСредний балл: {}'.
                format(self.name, self.surname,  self.age, self.yearOfAdmission, self.averageScore))
   
 
persons = []
persons.append(Student("Виктор", "Ивановская", 1983, 2004, 4.88)) 
persons.append(Student("Виктор", "Ивановская", 1970, 2000, 4.38)) 
persons.append(Student("Виктор", "Ивановская", 1972, 2006, 4.55)) 
persons.append(Student("Виктор", "Ивановская", 1971, 2004, 4.98)) 
persons.append(Student("Виктор", "Ивановская", 1948, 2001, 4.78)) 
for person in persons:
    print(person.get_info())
    print()
Написал только это не понимаю как все сделать по заданию застрял уже как вычислить возраст по вычитанию настоящего года с годом рождения
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2022, 18:44
Ответы с готовыми решениями:

Как создать класс с динамическими атрибутами
добрый день! Помогите сделать по типу: print(class.atr) вывод: atr print(class.one.two)...

Как создать класс матрица с атрибутами private!
Описать класс матрица в которой содержатся следующие атрибуты: private-3 матрицы одинаковой...

Использование типов DataContract с другими атрибутами. Прокси класс не генерирует DataContract с атрибутами
Такая проблема. Три дня провозился с сервисом, клиент которого по непонятной мне тогда причине...

На основе класса User создать класс Employee, описывающий сотрудника фирмы
Наследование и полиморфизм 1)На основе класса User создать класс Employee, описывающий...

8
Автоматизируй это!
Эксперт Python
7208 / 4702 / 1224
Регистрация: 30.03.2015
Сообщений: 13,403
Записей в блоге: 29
07.10.2022, 18:55 2
Цитата Сообщение от jjs1 Посмотреть сообщение
как вычислить возраст по вычитанию настоящего года с годом рождения
может, ну чисто теоретичекси - использовать вычитание?
0
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 8
07.10.2022, 19:09  [ТС] 3
я поставил вычитание, но он с агрился на то что у меня тип переменной string и тут я встрял в ступор
0
Автоматизируй это!
Эксперт Python
7208 / 4702 / 1224
Регистрация: 30.03.2015
Сообщений: 13,403
Записей в блоге: 29
07.10.2022, 19:13 4
jjs1, а ты предполагаешь что год рождения олжен быть строкой?

простой пример
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> from datetime import datetime
>>> class User:
...     def __init__(self, birth_year):
...         self.year = birth_year
...     def get_age(self):
...         return datetime.now().year-self.year
... 
>>> user=User(1990)
>>> user.get_age()
32
>>> user=User(2000)
>>> user.get_age()
22
0
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 8
07.10.2022, 19:49  [ТС] 5
можешь объяснить свой код?
0
Автоматизируй это!
Эксперт Python
7208 / 4702 / 1224
Регистрация: 30.03.2015
Сообщений: 13,403
Записей в блоге: 29
07.10.2022, 19:52 6
jjs1, конечно
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> from datetime import datetime  # для того чтобы получить текущий год
>>> class User:
...     def __init__(self, birth_year): # запрашиваем при создании объекта год, предполагаем что это инт
...         self.year = birth_year
...     def get_age(self):
...         return datetime.now().year-self.year # из текущего года вычитаем год рождения
... 
>>> user=User(1990)
>>> user.get_age() # проверка 1 (2022-1990=32)
32
>>> user=User(2000)
>>> user.get_age() # проверка 2 (2022-2000=22)
22
на >>> и ... не обращай внимания, это я в консоли просто накидал тебе на коленке
0
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 8
07.10.2022, 20:04  [ТС] 7
а как связать потом мне выход дня рождения со всеми данными
0
Автоматизируй это!
Эксперт Python
7208 / 4702 / 1224
Регистрация: 30.03.2015
Сообщений: 13,403
Записей в блоге: 29
07.10.2022, 20:19 8
jjs1, подставить в строку вывода, лучше используй f-строки
0
0 / 0 / 0
Регистрация: 07.10.2022
Сообщений: 8
07.10.2022, 20:22  [ТС] 9
я использовал, но что-то не получилось. Можно попросить напистаь код с нуля пожалйста, если вам будет не трудно. Буду очень благодарен, если сделаете, а то я изучал C++, а нам дали задание по питону, а в нем я полный ноль.
0
07.10.2022, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2022, 20:22
Помогаю со студенческими работами здесь

Создать класс user, который имеет логин, имя, телефон, email и пароль
Привет всем! Помогите создать класс user, который имеет логин, имя, телефон, email и пароль Вот...

Создать user exeption класс, который наследуется от exeption
Помогите сделать следующее:сделать user exeption класс который наследуется от exeption, + сделать...

Создать класс с именем Address. Python
1. В теле класса требуется создать поля: index, country, city, street, house, apartment. Создать...

Создать классс атрибутами
Помогите с написанием класса по следующим условиям: Создать класс Name, который принимает имя и...

Создать папку с заданными атрибутами
Пользователь задает путь к папке. Проверить наличие заданного пути. Создать новую папку, установив...

Создать файл с заданными атрибутами
Помогите пожалуйста разобратся как вписать эти атрибуты, вот задание: Составить программу на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru