Помогите

Статус
Закрыто для дальнейших ответов.

Дашаkg

Новичок
Пользователь
Авг 6, 2023
1
0
1
Создать класс Person с атрибутами fullname, age, is_married
2. Добавить в класс Person метод introduce_myself, который бы распечатывал всю информацию о человеке
3. Создать класс Student наследовать его от класса Person и дополнить его атрибутом marks, который был бы словарем, где ключ это название урока, а значение - оценка.
4. Добавить метод в класс Student, который бы подсчитывал среднюю оценку ученика по всем предметам
5. Создать класс Teacher и наследовать его от класса Person, дополнить атрибутом experience.
6. Добавить в класс Teacher атрибут уровня класса salary
7. Также добавить метод в класс Teacher, который бы считал зарплату по следующей формуле: к стандартной зарплате прибавляется бонус 5% за каждый год опыта свыше 3х лет.
8. Создать объект учителя и распечатать всю информацию о нем и высчитать зарплату
9. Написать функцию create_students, в которой создается 3 объекта ученика, эти ученики добавляются в список и список возвращается функцией как результат.
10. Вызвать функцию create_students и через цикл распечатать всю информацию о каждом ученике с его оценками по каждому предмету. Также рассчитать его среднюю оценку по всем предметам.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
чем помочь?
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
class Person:
def __init__(self, fullname, age, is_married):
self.fullname = fullname
self.age = age
self.is_married = is_married

def introduce_myself(self):
return f"Имя: {self.fullname}, " \
f"Возраст: {self.age}, " \
f"Статус: {self.is_married}"

class Student(Person):
def __init__(self, fullname, age, is_married, marks):
super().__init__(fullname, age, is_married)
self.marks = marks

def introduce_myself(self):
return super().introduce_myself()

def calculate_average_mark(self):
sumofmarks = sum(self.marks.values())
return sumofmarks/len(self.marks)

class Teacher(Person):
def __init__(self, fullname, age, is_married, exp_year):
super().__init__(fullname, age, is_married)
self.exp_year = exp_year

def introduce_myself(self):
return super().introduce_myself()

def selarycount(self):
standart = 6000
if self.exp_year>=3:
selaryall = standart + (self.exp_year-3)*(5 * standart / 100)
else:
selaryall = standart
return selaryall


t1=Teacher("Иван", 20, "Не женат",4)
print(t1.introduce_myself())
print(t1.selarycount())

print("-"*50)

def create_students():
markslist1 = {"математика": 5, "физика": 5}
studentobj1 = Student("Иван1", 20, "Не женат",markslist1)

markslist2 = {"математика": 4, "физика": 4}
studentobj2 = Student("Иван2", 20, "Не женат", markslist2)

markslist3 = {"математика": 3, "физика": 3}
studentobj3 = Student("Иван3", 20, "женат", markslist3)

listofstudents = [studentobj1,studentobj2,studentobj3]



return listofstudents

student_list = create_students()

# Вывод информации о каждом ученике и его оценках
for student in student_list:
print(student.introduce_myself())
for subject, mark in student.marks.items():
print(f"Оценка по предмету {subject}: {mark}")
average_mark = student.calculate_average_mark()
print(f"Средняя оценка: {average_mark}\n")
ваш код не работает, отступов нет
 

Вэн

Новичок
Пользователь
Авг 29, 2023
1
0
1
Всем доброго дня!Может кто-нибудь подскажет как решить эту задачу?Я в этом деле ещё новичок,пока соображалка не совсем работает))
Не совсем понятно как это правильно написать.

Разработчик Фёдор очень любит печеньки в офисе, и он точно знает все N мест, где их можно найти, а также точное количество печенек Сn в каждом месте. Сегодня Фёдор особенно голоден, он закончил большую задачу, и решает выделить себе M часов на то, чтобы съесть все печеньки в офисе.

Фёдор рассчитал минимальное количество печенек K, которое ему нужно съедать в течение часа так, чтобы в итоге успеть съесть все печеньки в офисе за выделенное время или раньше.

В каждый час, он может посетить одно любое место с печеньками и съесть K печенек в этом месте, он потратит на это целый час, даже если в этом месте осталось меньше, чем K печенек, потому что будет обсуждать с коллегами задачи и планы. Места без печенек Фёдор может не посещать.

Коллеги, из уважения к Фёдору, никогда не трогают его любимые печеньки


Входные данные (поступают в стандартный поток ввода)​

Первая строка - целые числа N и M через пробел (1≤N≤100 000, 1≤M≤200 000)

Далее N строк, на каждой из которых одно целое число Cn (0≤Cn≤10 000)

Все входные данные наших тестов всегда соблюдают указанные параметры, дополнительные проверки не требуются


Выходные данные (ожидаются в стандартном потоке вывода)​

Одно целое число, минимально возможное K. Либо 0, если в офисе нет печенек, или если Фёдор не успеет съесть все печеньки за выделенное время.


Пример 1​

Ввод:

3 6
4
4
4

Вывод:

2

Простой пример для ознакомления с входными и выходными данными


Пример 2​

Ввод:

3 6
4
4
5

Вывод:

3

Здесь похожая ситуация, но съедая по 2 печеньки, Фёдор не успеет съесть последнюю


Пример 3​

Ввод:

3 3
6
6
8

Вывод:

8

Граничная ситуация при N = M
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Всем доброго дня!Может кто-нибудь подскажет как решить эту задачу?Я в этом деле ещё новичок,пока соображалка не совсем работает))
Не совсем понятно как это правильно написать.

Разработчик Фёдор очень любит печеньки в офисе, и он точно знает все N мест, где их можно найти, а также точное количество печенек Сn в каждом месте. Сегодня Фёдор особенно голоден, он закончил большую задачу, и решает выделить себе M часов на то, чтобы съесть все печеньки в офисе.

Фёдор рассчитал минимальное количество печенек K, которое ему нужно съедать в течение часа так, чтобы в итоге успеть съесть все печеньки в офисе за выделенное время или раньше.

В каждый час, он может посетить одно любое место с печеньками и съесть K печенек в этом месте, он потратит на это целый час, даже если в этом месте осталось меньше, чем K печенек, потому что будет обсуждать с коллегами задачи и планы. Места без печенек Фёдор может не посещать.

Коллеги, из уважения к Фёдору, никогда не трогают его любимые печеньки


Входные данные (поступают в стандартный поток ввода)​

Первая строка - целые числа N и M через пробел (1≤N≤100 000, 1≤M≤200 000)

Далее N строк, на каждой из которых одно целое число Cn (0≤Cn≤10 000)

Все входные данные наших тестов всегда соблюдают указанные параметры, дополнительные проверки не требуются


Выходные данные (ожидаются в стандартном потоке вывода)​

Одно целое число, минимально возможное K. Либо 0, если в офисе нет печенек, или если Фёдор не успеет съесть все печеньки за выделенное время.


Пример 1​

Ввод:

3 6
4
4
4

Вывод:

2

Простой пример для ознакомления с входными и выходными данными


Пример 2​

Ввод:

3 6
4
4
5

Вывод:

3

Здесь похожая ситуация, но съедая по 2 печеньки, Фёдор не успеет съесть последнюю


Пример 3​

Ввод:

3 3
6
6
8

Вывод:

8

Граничная ситуация при N = M
для нового вопроса создайте новую тему
 
-1

danilok

Новичок
Пользователь
Авг 11, 2023
1
0
1
class Person:
def __init__(self, fullname, age, is_married):
self.fullname = fullname
self.age = age
self.is_married = is_married

def introduce_myself(self):
return f"Имя: {self.fullname}, " \
f"Возраст: {self.age}, " \
f"Статус: {self.is_married}"

class Student(Person):
def __init__(self, fullname, age, is_married, marks):
super().__init__(fullname, age, is_married)
self.marks = marks

def introduce_myself(self):
return super().introduce_myself()

def calculate_average_mark(self):
sumofmarks = sum(self.marks.values())
return sumofmarks/len(self.marks)

class Teacher(Person):
def __init__(self, fullname, age, is_married, exp_year):
super().__init__(fullname, age, is_married)
self.exp_year = exp_year

def introduce_myself(self):
return super().introduce_myself()

def selarycount(self):
standart = 6000
if self.exp_year>=3:
selaryall = standart + (self.exp_year-3)*(5 * standart / 100)
else:
selaryall = standart
return selaryall


t1=Teacher("Иван", 20, "Не женат",4)
print(t1.introduce_myself())
print(t1.selarycount())

print("-"*50)

def create_students():
markslist1 = {"математика": 5, "физика": 5}
studentobj1 = Student("Иван1", 20, "Не женат",markslist1)

markslist2 = {"математика": 4, "физика": 4}
studentobj2 = Student("Иван2", 20, "Не женат", markslist2)

markslist3 = {"математика": 3, "физика": 3}
studentobj3 = Student("Иван3", 20, "женат", markslist3)

listofstudents = [studentobj1,studentobj2,studentobj3]



return listofstudents

student_list = create_students()

# Вывод информации о каждом ученике и его оценках
for student in student_list:
print(student.introduce_myself())
for subject, mark in student.marks.items():
print(f"Оценка по предмету {subject}: {mark}")
average_mark = student.calculate_average_mark()
print(f"Средняя оценка: {average_mark}\n")
 
Статус
Закрыто для дальнейших ответов.

Форум IT Специалистов