Найти ошибку.
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'
Answers & Comments
Здравствуйте!
По переводу ошибки: " 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)