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

Задача 4. Видеокарты(С автотестом)

21.07.2022, 11:00. Показов 2848. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
def get_input_parameters():
    old_video_cards = []
    quantity_video_cards = int(input('Кол-во видеокарт: '))
    for i in range(quantity_video_cards):
        id_video_cards = int(input(f"{i + 1} Видеокарта: "))
        old_video_cards.append((id_video_cards))
 
    return old_video_cards
 
 
def display_result(old_video_cards, new_video_cards):
    print('Старый список  видеокарт: ', ",".join(map(str, old_video_cards)))
    print('Новый список видеокарт: ', "," .join(map(str, new_video_cards)))
 
 
def select_video_cards(video_cards):
    new_video_cards = []
    for i in range(len(video_cards)):
        if video_cards [0] >= video_cards[i]:
            new_video_cards.append(video_cards[i])
 
    return new_video_cards
 
 
if __name__ == '__main__':
    video_cards = get_input_parameters()
    result_video_cards = select_video_cards(video_cards)
    display_result(video_cards, result_video_cards)
Решил задачку, но автотест ругается.Вот код самого автотеста:
import unittest
from task_04_videocards.main import select_video_cards


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Test04SelectVideoCards(unittest.TestCase):
    def test_select_video_cards(self):
        """
        Проверяем обычный кейс. [3070, 2060, 3090, 3070, 3090]  должны получить [3070, 2060, 3070]
        """
        video_cards_list = [3070, 2060, 3090, 3070, 3090]
        new_video_cards_list = select_video_cards(video_cards_list)
 
        self.assertEqual(new_video_cards_list, [3070, 2060, 3070])
 
    def test_select_video_cards_no_result(self):
        """
        Проверяем обычный кейс. [3070, 3070]  должны получить []
        """
        video_cards_list = [3070, 3070]
        new_video_cards_list = select_video_cards(video_cards_list)
 
        self.assertEqual(new_video_cards_list, [])
 
 
if __name__ == '__main__':
    unittest.main()
Ошибку выдает таку:

Python
1
2
3
4
5
6
7
8
9
10
FAILED (failures=1)
[] != [3070, 3070]
Expected :[3070, 3070]
Actual   :[]
<Click to see difference>
 
Traceback (most recent call last):
 line 22, in test_select_video_cards_no_result
  self.assertEqual(new_video_cards_list, [])
AssertionError: Lists differ: [3070, 3070] != []
Сам код работает.А что хочет от меня тест, не пойму. Ему не нравится мой вывод ответа?Подскажите пожалуйста!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2022, 11:00
Ответы с готовыми решениями:

Две видеокарты в одном компьютере. Как запустить определенную игру с определенной видеокарты!?
Всем привет, столкнулся с технической проблемой в игре, а именно отсутствие поддержки новых видеокарт AMD Radeon. (Проблема если честно...

Драйвер видеокарты выключается при нагреве видеокарты до 40 градусов
Здравствуйте. В общем проблема такая , Есть новый компьютер , в нём новая видеокарта ZOTAC GeForce GTX 460 SE 1024Mb, при даже простой...

После установки драйвера видеокарты изменился номер видеокарты
В чеке стоит radeon r7 440, покупал на днях ноут hp, обновил драйвера через офф сайт, теперь в диспетчере устройств показывает как r7 340....

4
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.07.2022, 11:06
Цитата Сообщение от Capitan_Orgasma Посмотреть сообщение
Ему не нравится мой вывод ответа?
Ему не нравится то, что решено неправильно.
1
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
21.07.2022, 11:17
Лучший ответ Сообщение было отмечено Capitan_Orgasma как решение

Решение

Тут надо писать условие задачи.
Неверно фильтруешь список, надо удалять максимальные значения.
Python
1
2
3
4
5
6
7
8
9
def select_video_cards(video_cards):
    if not video_cards:
        return []
    ma = max(video_cards)
 
    return [card for card in video_cards if card < ma]
 
print(select_video_cards([3070, 2060, 3090, 3070, 3090]))
print(select_video_cards([3070, 3070]))
Добавлено через 4 минуты
Или так, а то тема про List comprehensions будет через занятие.

Python
1
2
3
4
5
6
7
8
def select_video_cards(video_cards):
    result = []
    if video_cards:
        ma = max(video_cards)
        for card in video_cards:
            if card < ma:
                result.append(card)
    return result
2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.07.2022, 11:18
Цитата Сообщение от Alexarh Посмотреть сообщение
надо удалять максимальные значения
Не факт! Именно поэтому
Цитата Сообщение от Alexarh Посмотреть сообщение
надо писать условие задачи
а не ожидать, что мы тут повангуем
0
0 / 0 / 0
Регистрация: 20.07.2022
Сообщений: 14
21.07.2022, 11:31  [ТС]
Цитата Сообщение от Alexarh Посмотреть сообщение
Тут надо писать условие задачи.
Неверно фильтруешь список, надо удалять максимальные значения.
Про условие сорян, буду знать. Спасибо за обьяснение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.07.2022, 11:31
Помогаю со студенческими работами здесь

Подбор видеокарты. О чем говорят характеристики видеокарты?
Доброго дня господа. Мне вот чисто по виду понравилась видеокарта MSI GTX 960 4 Gb 128 bit. Вот эти 128 bit меня и бесят. Какой толк от 4...

прозвонка видеокарты, поломка видеокарты
Здравствуйте, ни с того, ни с сего видеокарта перестала определяться компом, т.е. видеокарта всунутая в PCI просто игнорируется,...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько приложений. Каждое из приложений работает в...

Васильев C# Глава 8 задача 2 (Просьба объяснить формулировку(задача внутри)
Текст задачи Написать программу , в которой есть класс с полем, являющимся ссылкой на одномерный целочисленный массив. У класса есть...

Васильев C# Глава 7 задача 8 (Просьба объяснить формулировку(задача внутри)
Текст задачи Напишите программу с классом, у которого есть текстовое поле. Значение текстовому полю присваивается при создании объекта...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru