Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2021, 16:36   #1
kisel2014
Пользователь
 
Регистрация: 04.12.2019
Сообщений: 11
По умолчанию Тестируемый(тестовый код)

У меня есть тестируемый/тестовый код, переведите пжы его в основную программу, чтобы ввод был с клавиатуры(я правда понять не могу как):
Код:
def LAB1_VAR_13(L):
    # Функция для вычисления объема и площади поверхности куба

    # Если ребро меньше или равно нулю - вернуть ноль
    if L <= 0: return 0, 0
    
    V = L**3    # вычисление объема куба
    S = 6 * L**2    # вычисление площади поверхности

    return V, S

def TEST_LAB1_VAR_13():
    '''
    Функция для тестирования функции
    вычисления объема и поверхности куба.
    Содержит набор из 5 тестовых случаев.
    '''
    
    print("Тест 1: L=1 ", end="")
    V, S = LAB1_VAR_13(1)
    if (V,S) == (1, 6): print(f"\tV={V} \tS={S}, \tпройден.")
    else: print(f"\tV={V} \tS={S}, \tне пройден.")

    print("Тест 2: L=5 ", end="")
    V, S = LAB1_VAR_13(5)
    if (V,S) == (125, 150): print(f"\tV={V} \tS={S}, \tпройден.")
    else: print(f"\tV={V} \tS={S}, \tне пройден.")

    print("Тест 3: L=10 ", end="")
    V, S = LAB1_VAR_13(10)
    if (V,S) == (1000, 600): print(f"\tV={V} \tS={S}, \tпройден.")
    else: print(f"\tV={V} \tS={S}, \tне пройден.")

    print("Тест 4: L=0 ", end="")
    V, S = LAB1_VAR_13(0)
    if (V,S) == (0, 0): print(f"\tV={V} \tS={S}, \tпройден.")
    else: print(f"\tV={V} \tS={S}, \tне пройден.")

    print("Тест 5: L=-10 ", end="")
    V, S = LAB1_VAR_13(-10)
    if (V,S) == (0, 0): print(f"\tV={V} \tS={S}, \tпройден.")
    else: print(f"\tV={V} \tS={S}, \tне пройден.")


# Запускаем тестовый набор данных
TEST_LAB1_VAR_13()

input()
kisel2014 вне форума Ответить с цитированием
Старый 25.04.2021, 19:40   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Тест предполагает, что для заданного ребра вычисление объёма и площади поверхности куба выполняется вручную.
Вводите размер ребра и получаете два значения - объём и площадь поверхности.
Если тест надо повторить, то жмёте Y или Enter.
Что-то вроде такого.
Код:
def LAB1_VAR_13(L):
    # Функция для вычисления объема и площади поверхности куба
    # Если ребро меньше или равно нулю - вернуть ноль
    if L <= 0: return 0, 0
    V = L**3    # вычисление объема куба
    S = 6 * L**2    # вычисление площади поверхности
    return V, S


while True:   # Цикл для ввода нескольких значений
    a = int(input('Введите размер ребра (целое число): '))
    V, S = LAB1_VAR_13(a)   # Вызов функции для расчета параметров по формуле
    print('Объём = ', V, '    Площадь = ', S)  # Вывод результата
    otvet = input('Продолжить? ([Y], N): ')
    if otvet == 'Y' or otvet == '':    # Завершим цикл
        continue
    else:
        break
PS: Проверок на корректность вводимых значений нет.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 26.04.2021, 16:51   #3
kisel2014
Пользователь
 
Регистрация: 04.12.2019
Сообщений: 11
Радость

Хм, спасибо большое. Я просто хочу сам принцип понять из перевода тестовой функции в основную программу. Если изначально писать просто код для задачи, то легко. А из тестового сложнее, так как нужно учитывать уже условия
kisel2014 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовый(тестируемый код) kisel2014 Python 1 09.03.2021 23:41
Тестовый редактор Yrec Общие вопросы Delphi 5 27.05.2012 16:10
тестовый файл thevisl Помощь студентам 2 30.06.2011 08:46
Тестовый редактор vo0odo Общие вопросы Delphi 3 06.02.2011 12:29