Вопрос задан 17.06.2023 в 13:53. Предмет Информатика. Спрашивает Ямлихина Аделя.

Найти ошибку. def func(a,b,c=2): return a+b+c rez1=func(3,5) rez2=func(3,5,8) rez3=func(a=5, b=8)

rez4=func(a=5, c=8) print('rez =1, rez1') print('rez =2, rez2') print('rez =3, rez3') print('rez =4, rez4') сама ошибка:TypeError: func() missing 1 required positional argument: 'b'
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Прилуцкий Артём.

Здравствуйте!

По переводу ошибки: " TypeError: func() отсутствует 1 обязательный позиционный аргумент: 'b' " сразу можно понять, что при вызове функции вы не даёте никакого значения для параметра b, хотя он обязателен в функции.

Вы можете выбрать 2-а способа:

1) Присвоить в самой функции значение для b (как вы сделали для c) по умолчанию: def func(a, b=3, c=2):

2) Задать значение для b при вызове функции rez4 = func(a=5, b= 3, c=8)

Также вижу, что вы, скорее всего, хотите вывести текст + значение, но у вас получается только текст, исправим-с:

def func(a, b=3, c=2):

   return a + b + c

rez1 = func(3, 5)

rez2 = func(3, 5, 8)

rez3 = func(a=5, b=8)

rez4 = func(a=5, c=8)

print('rez1 =', rez1)

print('rez2 =', rez2)

print('rez3 =', rez3)

print('rez4 =', rez4)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ошибкой в данном коде является то, что в вызове функции func(a=5, b=8) не указан аргумент c, который по умолчанию равен 2. Это приводит к возникновению ошибки TypeError: func() missing 1 required positional argument: 'b', так как позиционный аргумент b не был передан.

Чтобы исправить ошибку, необходимо указать значение для аргумента b при вызове функции func(a=5, b=8, c=2). Вот исправленный код:

python
def func(a, b, c=2): return a + b + c rez1 = func(3, 5) rez2 = func(3, 5, 8) rez3 = func(a=5, b=8) rez4 = func(a=5, c=8) print('rez1 =', rez1) print('rez2 =', rez2) print('rez3 =', rez3) print('rez4 =', rez4)

После внесения исправлений, код будет выполняться без ошибок.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос