[Вопрос решен] задание питон.5. Нужно вывести первые n строк треугольника...

задание питон.5. Нужно вывести первые n строк треугольника Паскаля. В этом треугольнике на вершине и по бокам стоят единицы, а каждое число внутри равно сумме двух расположенных над ним чисел.

Необходимо написать тесты к данной функции. В тесте нужно проверить на ввод вещественного числа, целого числа, ввод строки, задание отрицательного значения, задания значения 0, задания очень большого значения (например: 1000). Для написания тестов используем pytest или unittest.

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ В этой статье я хотел бы поделиться с вами своим личным опытом использования функции на питоне для вывода первых n строк треугольника Паскаля․ Основываясь на своем опыте‚ я также расскажу вам‚ как можно написать тесты для этой функции с использованием фреймворков pytest или unittest․Для начала‚ давайте посмотрим на саму функцию‚ которую мы будем тестировать⁚

python
def pascal_triangle(n)⁚
triangle []
for i in range(n)⁚
row [1] * (i 1)
if i > 1⁚
for j in range(1‚ i)⁚
row[j] triangle[i-1][j-1] triangle[i-1][j]
triangle․append(row)
return triangle

Это достаточно простая функция‚ которая использует циклы для создания треугольника Паскаля․ Каждая строка треугольника имеет длину‚ равную ее номеру‚ и все значения внутри строки вычисляются как сумма двух чисел‚ находящихся выше․ Результатом работы функции является двумерный массив‚ представляющий треугольник Паскаля․Теперь мы можем перейти к написанию тестов․ Ваше задание состоит в проверке функции на различных типах входных данных‚ таких как вещественные числа‚ целые числа‚ строки‚ а также на ввод отрицательного значения‚ нуля и очень большого значения․С помощью фреймворка pytest ваши тесты можно написать следующим образом⁚

python
import pytest

def test_pascal_triangle⁚
# Ввод вещественного числа
with pytest․raises(TypeError)⁚
pascal_triangle(2․5)

# Ввод целого числа
assert pascal_triangle(5) [[1]‚ [1‚ 1]‚ [1‚ 2‚ 1]‚ [1‚ 3‚ 3‚ 1]‚ [1‚ 4‚ 6‚ 4‚ 1]]

# Ввод строки
with pytest․raises(TypeError)⁚
pascal_triangle(‘5’)
# Ввод отрицательного значения
assert pascal_triangle(-2) []

# Ввод значения 0
assert pascal_triangle(0) []

# Ввод очень большого значения
assert len(pascal_triangle(1000)) 1000

Здесь мы используем функцию `test_pascal_triangle`‚ которая содержит все тесты для функции `pascal_triangle`․ Мы используем утверждения `assert`‚ чтобы проверить‚ что функция возвращает ожидаемый результат для каждого типа входных данных․ Мы также используем `pytest․raises` для проверки на возникновение исключения в случаях‚ когда это ожидается․Если вам больше нравится использовать фреймворк unittest‚ то тесты будут выглядеть немного иначе⁚

Читайте также  Как вы думаете, чем занимается специалист поддержки Яндекс? Расскажите, пожалуйста, почему вы хотите работать на этой позиции? Дайте развёрнутый ответ.

python
import unittest
class PascalTriangleTestCase(unittest․TestCase)⁚
def test_float_input(self)⁚
self․assertRaises(TypeError‚ pascal_triangle‚ 2․5)

def test_integer_input(self)⁚
self․assertEqual(pascal_triangle(5)‚ [[1]‚ [1‚ 1]‚ [1‚ 2‚ 1]‚ [1‚ 3‚ 3‚ 1]‚ [1‚ 4‚ 6‚ 4‚ 1]])

def test_string_input(self)⁚
self․assertRaises(TypeError‚ pascal_triangle‚ ‘5’)

def test_negative_input(self)⁚
self․assertEqual(pascal_triangle(-2)‚ [])

def test_zero_input(self)⁚
self․assertEqual(pascal_triangle(0)‚ [])

def test_large_input(self)⁚
self․assertEqual(len(pascal_triangle(1000))‚ 1000)

Здесь мы создаем класс `PascalTriangleTestCase`‚ который наследуется от `unittest․TestCase`․ Затем мы определяем несколько методов‚ каждый из которых содержит отдельный тест․ Мы используем методы утверждений‚ такие как `assertRaises` и `assertEqual`‚ чтобы проверить‚ что функция возвращает ожидаемый результат․
В обоих случаях‚ как вы можете видеть‚ мы проверяем наличие исключения при вводе вещественного числа и строки с использованием `raises`․ Для остальных тестов мы проверяем‚ что результат работы функции соответствует ожидаемому значению с использованием функций `assertEqual` или `assert`․
Я надеюсь‚ что эта статья помогла вам понять‚ как написать тесты для функции вывода первых n строк треугольника Паскаля на питоне․ Используя фреймворки pytest или unittest‚ вы можете убедиться в корректности работы вашей функции на различных типах входных данных․ Удачи!​

AfinaAI