Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.09.2022
Сообщений: 3

Создайте класс объектов Auto для подержанных машин со следующими характеристиками

27.09.2022, 18:47. Показов 3080. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Списки и классы в Python.
1. Создайте класс объектов Auto для подержанных машин со следующими характеристиками:
1. Марка.
2. Модель.
3. Год производства.
4. Пробег.
5. Цена.
6. Отечественное или зарубежное производство.

2. Создайте 5 объектов со следующими характеристиками:
KiaSor: «Kia», «Sorrento», 2003, 223 000 км, 415 000 руб, производство: Россия
HyunSol: «Hyundai», «Solaris», 2015, 41 000 км, 869 000 руб, производство: Корея
VolkPas: «Volkswagen», «Passat», 2012, 127 000 км, 900 000 руб производство: Германия
LadaPri: «Lada», «Priora», 2011, 139 000 км, 150 000 руб, производство: Россия
UazPat: «UAZ», «Patriot», 2011, 150 000 км, 345 400 руб, производство: Россия

3а. Создайте метод класса makeModel, позволяющий распечатать список объектов, причем на печать должны быть выведены только марка и модель автомобиля:
Например, название объекта auto1: ‘Kia Sorrento‘

3b. Создайте метод класса, позволяющий распечатать все свойства объекта, например:
'Kia Sorrento - Price: RUR415000, Production Year: 2003, Mileage: 223000'

4. Создайте список listOfCarNames, который содержит названия (марка+модель) всех автомобилей из списка выше.

5. Создайте функцию, в результате которой возникнет список sortedByMileage, в котором содержатся все автомобили, рассортированные по пробегу ['Hyundai Solaris', '41000'], ['Volkswagen Passat', '127000'], ['Lada Priora', '139000'], ['UAZ Patriot', '150000'], ['Kia Sorrento', '223000']

Чтобы написать свою программу, дополните шаблон, представленный ниже (test_auto.py).

test_auto.py

class Auto:

def __init__(self, make, model, year, mileage, price, origin_ru):
''' Вставьте свой код здесь '''

def makeModel(self):
''' Вставьте свой код здесь '''

def getAttrValue(self, attr):
return getattr(self, attr)

def __repr__(self):
''' Вставьте свой код здесь '''

''' Вставьте свой код здесь '''
##KiaSor
##HyunSol
##VolkPas
##LadaPri
##UazPat

listOfCarNames=[]
''' Вставьте свой код здесь '''

sortedByMileage=[]
''' Вставьте свой код здесь '''
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2022, 18:47
Ответы с готовыми решениями:

Создайте класс User со следующими полями
Задание 1. 1) Создайте класс User со следующими полями, подобрав правильный тип: id, логин, пароль 2) Создайте конструктор класса...

Создайте класс Matrix со следующими методами
1. Создайте класс Matrix, укажите в нем поле data для хранения матрицы. Тип поля data может быть любым из двух описанных выше. Также...

Создайте класс rationalNumber (дроби) со следующими возможностями:
а) создайте конструктор, который предотвращает равенство нулю знаменателя дроби, сокращает или упрощает дроби, если они не в сокращенной...

17
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
27.09.2022, 18:53
Dimetriy250, и в чем проблема? у вас даже шаблон есть.
0
0 / 0 / 0
Регистрация: 27.09.2022
Сообщений: 3
27.09.2022, 19:28  [ТС]
Не понятно, что за метод __repr__.
0
0 / 0 / 0
Регистрация: 06.12.2022
Сообщений: 1
06.12.2022, 16:52
Получилось решить проблему?
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
06.12.2022, 17:41
Цитата Сообщение от Dimetriy250 Посмотреть сообщение
Не понятно, что за метод __repr__.
очень секретная информация выдаю великую тайну
питона
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
06.12.2022, 18:32
Цитата Сообщение от Dimetriy250 Посмотреть сообщение
метод __repr__
https://proproprogs.ru/python_... pr-len-abs - если и тут не поймешь, то вероятно, ты гениальный певец.
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
11.12.2022, 10:07
Dimetriy250,
Получилось решить задачу ?

Добавлено через 34 минуты
Вот что вышло у меня, ну почти у меня, часть кода нашел. но выдает ошибки при проверке.
Может кто подсказать что нужно дописать в коде понятным чайнику языком, сижу в питоне 3 день ).

"Сбой теста: не удалось импортировать тестовый модуль: тест
Обратная трассировка (последний последний вызов):
Файл |/usr/lib/python3.10/unittest/loader.py ", строка 436, в
модуле _find_test_path = self._get_module_from_name(имя)
Файл |/usr/lib/python3.10/unittest/loader.py ", строка 377, в _get_module_from_name
__импортировать__(имя)
Файл |/autograder/source/tests/test.py ", строка 34, в <модуле>
из test_auto импортируйте список имен
Ошибка импорта: не удается импортировать имя 'listOfCarNames' из 'test_auto' (/autograder/source/test_auto.py )"

сам код
"Hello world"
class Auto:
def __init__(self, make, model, year, mileage, price, origin_ru):
self.make= make
self.model= model
self.year= year
self.mileage= mileage
self.price= price
self.orign_ru= origin_ru
def getMake(self):
return self.make
def getModel(self):
return self.model
def getYear(self):
return self.year
def getMileage(self):
return self.mileage
def getPrice(self):
return self.price
def getOrign_ru(self):
return self.origin_ru
def makeModel(self):
print('{} {}'.format(self.make, self.model))
def getAttrValue(self, attr):
return getattr(self, attr)
def __repr__(self):
def __repr__(self):
return f'{self.make}{self.model} - Price: RUR{self.price},Production Year: {self.year},Mileage: {self.mileage}'


KiaSor= Auto('Kia', 'Sorrento', 2003, 223000, 415000, 'Россия')
HyunSol= Auto('Hyundai', 'Solaris', 2015, 41000, 869000, 'Корея')
VolkPas= Auto('Volkswagen', 'Passat', 2012, 127000, 900000, 'Германия')
LadaPri= Auto('Lada', 'Priora', 2011, 139000, 150000, 'Россия')
UazPat= Auto('UAZ', 'Patriot', 2011, 150000, 345400, 'Россия')

sortedByMileage=[]
sortedByMileage1=['{} {}'.format(KiaSor.make, KiaSor.model),'{}'.format(KiaSor.mileage )]
sortedByMileage2=['{} {}'.format(HyunSol.make, HyunSol.model), '{}'.format(HyunSol.mileage)]
sortedByMileage3=['{} {}'.format(VolkPas.make, VolkPas.model), '{}'.format(VolkPas.mileage)]
sortedByMileage4=['{} {}'.format(LadaPri.make, LadaPri.model), '{}'.format(LadaPri.mileage)]
sortedByMileage5=['{} {}'.format(UazPat.make, UazPat.model), '{}'.format(UazPat.mileage)]
sortedByMileage=[sortedByMileage1,sortedByMileage2,sorted ByMileage3,sortedByMileage4,sortedByMile age5]
def custom_key(sortedByMileage):
return sortedByMileage[1]

sortedByMileage.sort(key=custom_key)
print (sortedByMileage)
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
11.12.2022, 12:36
Dimetriy250, как-то так:
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
40
41
42
class Auto:
 
    def __init__(self, make, model, year, mileage, price, origin_ru='Россия'):
        self.make = make
        self.model = model
        self.year = year
        self.mileage = mileage
        self.price = price
        self.orign_ru = origin_ru
 
    def makeModel(self):
        print(f'{self.make} {self.model}')
 
    def getAttrValue(self, attr):
        return getattr(self, attr)
 
    def __repr__(self):
        return f'{self.make} {self.model} {self.price}'
 
    def __str__(self):
        return f'{self.make} {self.model} - Price: RUR {self.price}, Production Year: {self.year}, Mileage: {self.mileage}'
 
 
def get_list_car_names(*autos: Auto):
    return list(autos)
 
 
def sorted_by_mileage(list_autos: list):
    return sorted(list_autos, key=lambda x: x.getAttrValue("mileage"))
#####
KiaSor = Auto('Kia', 'Sorrento', 2003, 223000, 415000)
HyunSol = Auto('Hyundai', 'Solaris', 2015, 41000, 869000, 'Корея')
VolkPas = Auto('Volkswagen', 'Passat', 2012, 127000, 900000, 'Германия')
LadaPri = Auto('Lada', 'Priora', 2011, 139000, 150000)
UazPat = Auto('UAZ', 'Patriot', 2011, 150000, 345400)
 
list_cars = get_list_car_names(KiaSor, HyunSol, VolkPas, LadaPri, UazPat)
print(list_cars, sep='\n') # тут __rep
print('-' * 21)
print(*list_cars, sep='\n') # тут __str
print('-' * 21)
print(sorted_by_mileage(list_cars))
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
11.12.2022, 13:40
Aviz__, спасибо большое. Сама программа работает. а при загрузке на сайт проверки выдает ошибку.Что может быть
Сбой теста: не удалось импортировать тестовый модуль: тест
Обратная трассировка (последний последний вызов):
Файл |/usr/lib/python3.10/unittest/loader.py ", строка 436, в
модуле _find_test_path = self._get_module_from_name(имя)
Файл |/usr/lib/python3.10/unittest/loader.py ", строка 377, в _get_module_from_name
__импортировать__(имя)
Файл |/autograder/source/tests/test.py ", строка 34, в <модуле>
из test_auto импортируйте список имен
Ошибка импорта: не удается импортировать имя 'listOfCarNames' из 'test_auto' (/autograder/source/test_auto.py )
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
11.12.2022, 13:46
Цитата Сообщение от Alexhyujinmail Посмотреть сообщение
Что может быть?
в моем коде попробуй так:
Python
1
listOfCarNames = get_list_car_names(KiaSor, HyunSol, VolkPas, LadaPri, UazPat)
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
11.12.2022, 14:01
странно но не выходит, и еще заметил один ньюанс, при выводе авто по пробегу УАЗ залез в середину, хотя ддолжен быть в начале
Hyundai Solaris 869000, Volkswagen Passat 900000, Lada Priora 150000, UAZ Patriot 34540, Kia Sorrento 415000]
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
11.12.2022, 14:08
Цитата Сообщение от Alexhyujinmail Посмотреть сообщение
залез в середину
т.е. ты совсем расслаблен?!
Цитата Сообщение от Dimetriy250 Посмотреть сообщение
рассортированные по пробегу
удачи! как захочешь учиться, т.е. что-то сделать сам, помогу.
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
11.12.2022, 14:11
Сплю на ходу ). завтра со светлой головой займусь. Спасибо
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
12.12.2022, 12:21
Aviz__, почти получилось. осталось только 2 проблемы. 1. не могу вывести на печать makeModel.2 при сортировке по пробегу сам пробег не выводится. хотя в 40 строке прописан. а если его добавить в 18 строку, то пишется везде, даже там где не должен. 42 просто для наглядности,там должно быть решение 1 проблеммы
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
40
41
42
43
44
45
46
47
48
49
class Auto:
 
    def __init__(self, make, model, year, mileage, price, origin_ru):
        self.make = make
        self.model = model
        self.year = year
        self.mileage = mileage
        self.price = price
        self.orign_ru = origin_ru
 
    def makeModel(self):                                 #1
        print(f'{self.make} {self.model} ')
 
    def getAttrValue(self, attr):                         #2
        return getattr(self, attr)
 
    def __repr__(self):
        return f'{self.make} {self.model} '
 
    def __str__(self):
        return f'{self.make} {self.model} - Price: RUR {self.price}, Production Year: {self.year}, Mileage: {self.mileage},Origin_ru {self.orign_ru}'
 
 
#####
KiaSor = Auto('Kia', 'Sorrento', 2003, 223000, 415000, 'Россия')
HyunSol = Auto('Hyundai', 'Solaris', 2015, 41000, 869000, 'Корея')
VolkPas = Auto('Volkswagen', 'Passat', 2012, 127000, 900000, 'Германия')
LadaPri = Auto('Lada', 'Priora', 2011, 139000, 150000, 'Россия')
UazPat = Auto('UAZ', 'Patriot', 2011, 150000, 345400, 'Россия')
 
 
def get_listOfCarNames(*autos: Auto):                                          #3
    return list(autos)
listOfCarNames = get_listOfCarNames(KiaSor, HyunSol, VolkPas, LadaPri, UazPat)
 
 
def sorted_by_mileage(list_autos: list):                                         #4
    return sorted(list_autos, key=lambda x: x.getAttrValue("mileage"))
def __repr__(self):
    return f'{self.make} {self.model} {self.mileage}'
 
print(listOfCarNames[:1],        sep='\n')                                # 1 тут __rep   1  марка модель, 1 авто не получается вывести на печать makeModel
print('-' * 81)
print(*listOfCarNames, sep='\n')  # тут __rep                             #2 весь список
print('-' * 81)
print(listOfCarNames, sep='\n')  # тут __str                              #3 марка модель, все авто
print('-' * 81)
print(f"{sorted_by_mileage(listOfCarNames) } ", sep='\n')                  #4 cортировка по пробегу   не выводит пробег на печать.???
print('-' * 81)[PYTHON]
[/PYTHON]
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
12.12.2022, 12:46
Цитата Сообщение от Alexhyujinmail Посмотреть сообщение
не могу вывести на печать makeModel.2 при сортировке по пробегу сам пробег не выводится. хотя в 40 строке прописан
а какое отношение к классу имеет эта функция в 39 - 40 строке?
Цитата Сообщение от Alexhyujinmail Посмотреть сообщение
а если его добавить в 18 строку, то пишется везде, даже там где не должен
пишится везде где вызван метод __repr__ вне зависимости от ваших хотелок. что в теле прописано то и выводится.
Цитата Сообщение от Alexhyujinmail Посмотреть сообщение
не могу вывести на печать makeModel.2 при сортировке по пробегу
так пропишите там что вам нужно
Python
1
2
 def makeModel(self):                                 #1
        print(f'{self.make} {self.model} {self.mileage}')
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
12.12.2022, 16:11
Всё, разобрался. Всем спасибо
2
0 / 0 / 0
Регистрация: 14.12.2022
Сообщений: 2
14.12.2022, 18:32
Выручайте, уже всю голову сломал!
Миниатюры
Создайте класс объектов Auto для подержанных машин со следующими характеристиками  
0
2 / 2 / 0
Регистрация: 09.12.2022
Сообщений: 9
14.12.2022, 21:26
Тестер ищет название функции которые ты использовал. Называется они должны точно также как просят в задании. Плюс ты должен их явно указать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2022, 21:26
Помогаю со студенческими работами здесь

На что будет способен компьютер со следующими характеристиками:
– операционная система семейства Windows; – процессор с частотой не ниже 800 MHz; – видеокарта с частотой не ниже 300 MHz; –...

Создайте корзину для покупок со следующими функциями
Пожалуйста, помогите мне 1)Создайте корзину для покупок со следующими функциями: Поместить товар в корзину (если один и тот же...

Генерация и вывод на экран трех целочисленных массивов со следующими характеристиками
Составьте программу генерации и вывода на экран трех целочисленных массивов со следующими характеристиками Характеристика|Массив 1|Массив...

Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка
Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки...

Создать класс, представляющий обучающий класс ClassRoom. Создайте класс ученик Pupil. В теле класса создайте методы void
Добрый день.помогите пожалуйста новичку с решением.буду очень благодарен .заранее благодарю.сам не могу решить.хочется посмотреть код ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru