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

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

21.07.2022, 11:00. Показов 2913. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru