вопрос к упражнениям по практикуму Python.


#78

Функция в Python объявляется с использованием ключевого слова def.
Затем через пробел задается имя функции и в круглых скобках - аргументы, если есть. Если их нет - пустые скобки. Вроде так ? :slight_smile:
Идем дальше. Пишем функцию print_square, которая принимает параметр num:
def print_square(num):
Для вывода в консоль используем print, которому передадим наш результат. А результат у нас - возведенное в квадрат num
Для возведения в квадрат используется двойная звездочка **
Не забываем про отступы, 4 пробела на один уровень - в Python они обозначают начало очередного блока кода. Не забываем заканчивать код пустой строкой. В результате имеем:

def print_square(num):
    print(num**2)

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


#79

Что ж, давайте реализовывать...
Для начала объявим нашу функцию с 3 параметрами:
def sum_(a, b, c):
Нам известно, что параметр c по умолчанию принимает значение 0
Параметр по-умолчанию - заранее определенный пользователем аргумент, известный функции еще на стадии объявления.
Для задания параметра по-умолчанию просто присвоим нужное значение аргументу. Таким образом, итоговое объявление функции будет выглядеть так:
def sum_(a, b, c=0):
Возврат результата из функции осуществляется с помощью ключевого слова return. Когда интерпретатор Python, выполняя тело функции, встречает return, то он "забирает" значение, указанное после этой команды, и "уходит" из функции.
Для сложения чисел используется +
Таким образом, применив знания на практике, получим примерно следующее:

def sum_(a, b, c=0):
    return a+b+c

Мы не использовали дополнительные переменные и вернули сумму всех 3 аргументов.


#80

def print_square(num):
return num ** 2

всё оказывается было проще чем я думал, голова просто уже задуренная походу


#81

у меня остался только один вопрос в тренажере по этой теме

def table(width=1.5, legs=4, color="brown" ):
print("Table width -", width)
print("Table legs -", legs)
print("Table color -", color)

table()
table(2, color="black", width=2)
table(legs=2)
table(1.2, 2, "gray")
table(1.1, 3)
table(width=2, 4, color="white")
table(color=green, width=2, legs=2)

вариант который вы писали кому-то выше не работает(


#82

Увы. Задача из разряда "Загадки тренажера" :slight_smile:
После исправления пары-тройки явных синтаксических ошибок остается загадкой, что именно хочет тренажер. Уже более 60 попыток. Пока глухо :slight_smile:


#83

из тренажера функции(2) разобрался почти со всем кроме этих 2ух заданий:cold_face:

Напишите функцию с именем func, которая принимает три параметра a, b, c, значения по умолчанию которых 4, 10, -1 соответственно. Функция выводит в консоль максимальное значение, минимальное значение, и модуль параметра “c”. Для решения задачи используйте встроенные функции Python. Порядок следования переменных не изменять.

один из моих вариантов ответа который пробовал:

def func(a = 4, b = 10, c = -1):
print(max(a, b, c))
print(min(a, b, c))
print(abs(c))
func()

и второе задание:

Напишите функцию с названием str_revers, которая принимает параметр str_ строку, и выводит в консоль перевернутую строку, все символы которой идут в обратном порядке. Используйте цикл for, переменную итератор i

тут к сожалению даже не приблизился к правильному ответу


#84

:cold_face::cold_face::cold_face:


#85

По первому вопросу попробуйте без явного вызова func - просто уберите последнюю строку.


#86

По перевернутой строке рекомендую иметь под рукой список встроенных функций языка. Одна из них - reversed, возвращает итератор, обходя который можно получить элементы входной последовательности в обратном порядке.
Зная это, можно написать функцию, в которой в цикле получаем символы из перевернутого итератора

def str_revers(str_):
    for i in ..... : 
        print(i, end="")

Если не трудно, напишите свой "неприближающийся" вариант, попробуем разобраться.


#87

не принимает ваш ответ, выдает ошибку(

мой самый близкий ответ был
def srt_revers():
for i in reversed(str_):
print(i, end="")


#88

в подсказках есть информация ещё такая:

Для переворачивания строки используйте функцию reversed(str)


#89

def srt_revers():
str_revers
опечатка?


#90

да
ваш ответ не принимается почему-то


#91


Странно, что не принимает...
Попробуйте не копировать из задания имена, а все прописывать ручками.
Иногда одинаковые символы имеют разные коды, я об этом как-то выше писал...


#92

всё было проще)
я забыл написать str_ в скобках :grin:


#93

Как с func() дела?
Получилось?


#94

всё отлично, получилось)
спасибо)


#95

И снова всем привет)
я не знаю почему, но у меня не принимает некоторые задания в теме: "списки"
напишите пожалуйста ваши решения в данных вопросах, не пойму что не так

Дан список my_list. Создайте срез этого списка с названием sub_list 1) sub_list содержит 3 и 4 элемент списка my_list 2) sub_list содержит элементы my_list начиная с первого, через один 3) sub_list содержит список my_list в обратном порядке 4) sub_list содержит последние три элемента my_list в обратном порядке 5) sub_list содержит копию списка my_list my_list = [1, 10, 22, 43, 11, -2, 7] # ... # code # ...

Задайте список my_list который будет содержать числа от 0 до 9. Используя функцию list(). Создайте функцию func, которая принимает два параметра list_ и num. Если число num входит в список list_, функция должна выводить на консоль фразу "This number is in list" в противном случае, фразу - "This number is out of list"

Задайте список my_list с элементами от 0 до 9. 1) Добавьте 11 элемент равный 100 2) Удалите третий элемент списка 3) Измените 10й элемент списка на 99


#96

мои ответы:
1.
my_list = [1, 10, 22, 43, 11, -2, 7]
sub_list = my_list[3:5]
sub_list = my_list[::2]
sub_list = my_list[::-1]
sub_list = my_list[-1:-4:-1]
sub_list = my_list[:]

my_list = list([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
def func(num, list_):
#где-то здесь как я понимаю должно быть range()
if num in list_:
print("This number is in list")
else:
print("This number is out of list")

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list.append(100)
del my_list[2]
my_list[9] = 99


#97

п.1
К сожалению, ублажить тренажер пока не получается, Ваш вариант - один из многий, которые перепробовал. Пока отнес к категории "Загадки тренажера"

п.2. и п.3.
попробуйте задавать список не явно, а используя генератор диапазона range