Подушню по 1 задаче: Рекурсия это красиво, но плохо для данного случая. Ваша ф-ция поломается при числе примерно в 800 (есть показатель вложенности рекурсии, т.к. стэк ограничен) Во-вторых, натуральные числа - это числа от 1. Зачем здесь 0. В-третьих, можно убрать слово else. Если сработало первое условие, то оно и так уже заретернет и не дойдет до else. В-четвертых, зачем использовать лишнюю память и копить инфу в answer, если ее можно сразу вернуть. Пример, как я бы решил, не используя какие-то дополнительные библиотеки: n = int(input()) def factorial(n): total = 1 for i in range(1, n + 1): total *= i return total print(factorial(n))
@art_alf-b9b
2 ай бұрын
у меня один в один, кроме input + у меня при отрицательных числах выводит ошибку Но надо ей отдать должное. Она там в прямом эфире делает, а мы дома в комфортной обстановке
@queque8886
6 ай бұрын
Выбрала иннер джоин, почему? Да ладно , саундс гуд в любом случае 👍. Запрос выдаст ошибку из-за того, что не указала с какой таблицы брать салари, ну да ладно. Такие интервью отображают вашу экспертизу в вопросах образования, будьте, пожалуйста, внимательней.
@mindcore2819
4 ай бұрын
слабовато, честно
@art_alf-b9b
2 ай бұрын
SQL 2 задача. Вот так лаконичнее и там сказано, что вывести только имена и фамилии. SELECT emp.first_name, emp.last_name, FROM employees as emp JOIN (select sh.employee_id, max(sh.salary) as max_salary FROM salaries_history as sh GROUP BY sh.employee_id) as sh on sh.employee_id = emp. employee_id WHERE emp.salary < sh. max_salary
@СергейЯсинецкий-и4б
4 ай бұрын
Что за бред в задаче по питону? Что такое factorial(n-1)? Чтобы вычислить так факториал нужно было импортировать библиотеку math, но если её импортировать, то какой вообще смысл в остальном псевдокоде, если можно было просто написать factorial(n). Задача наверное подразумевает что вы сами напишете функцию факториала с помощью обычного цикла for: def factorial1(n): a = 1 for i in range(1, n+1): a *= i return a
@mightypower2647
4 ай бұрын
На самом деле там всё (если не думать про память при больших n) верно. Название функции, возможно, не самое удачное, так как напоминает факториал из модуля math, о котором вы пишете. Но девушка в видео реализовала рекурсию --- ф-я factorial() будет вызывать саму себя, пока не дойдёт до n = 1, так что всё честно.
@art_alf-b9b
2 ай бұрын
Первая задача у меня так: def fact(n): if n < 0: return print('Ошибка, укажите число >=0') else: result = 1 for i in range(1, n+1): result*=i return result
@aizhannurtazina9071
8 ай бұрын
Молодцы ребята 🎉
@РатиборПодлесный
2 ай бұрын
Ужасно. Уровень знаний проверяется самый начальный. 5 лет назад, когда рынок на буме был, такой кандидат бы ни на одну вакансию не прошел. Сейчас на это смешно смотреть. Сам интервьюер очень скромными знаниями обладает. Задачи очень расплывчато сформулированы, не указаны форматы входных данных, не рассматриваются граничные случаи. "Интервьюер" не знает отличие loc и iloc в pandas.
@БагдатАбдугаппаров
8 ай бұрын
Супер🔥🔥
@oxana543
Ай бұрын
Задание 3 с вычислением самого часто используемого в тексте слова, кажется, можно решить через counter словарь: from collections import Counter text = 'Сегодня поговорим о словарях словарях словарях' words = text.split() c = Counter(words) print(c) и будет так: Counter({'словарях': 3, 'Сегодня': 1, 'поговорим': 1, 'о': 1})
@dontsendmenudes
6 ай бұрын
по Python второе задание быстро еще можно решить с регулярками) а так спасибо за видео!
@art_alf-b9b
2 ай бұрын
можно, но я бы сходу не сделал бы
@ЕгорЛ-у7ь
6 ай бұрын
Во второй задаче SQL having не отработает по алиесу. Он еще не знает алиес Нужно писать с агрегацией a.salary < max(b.salary) И в селекте max(b.salary) as max_salary иначе не поймёт из какой таблицы зп
@art_alf-b9b
2 ай бұрын
Согласен, там ошибки есть точно
@art_alf-b9b
2 ай бұрын
SQL 2 задача. Вот так лаконичнее и там сказано, что вывести только имена и фамилии. SELECT emp.first_name, emp.last_name, FROM employees as emp JOIN (select sh.employee_id, max(sh.salary) as max_salary FROM salaries_history as sh GROUP BY sh.employee_id) as sh on sh.employee_id = emp. employee_id WHERE emp.salary < sh. max_salary
@Forest_dahfksd
5 ай бұрын
Задание 2. Убирает двойные, тройные и тд пробелы. s = "hello world" t = re.sub(r' +', ' ', s) print (t)
@АндрейОвсянов-ч8г
6 ай бұрын
Ответ на первое задание: text.replace(' ', ' '). Зачем куча другого кода я не понимаю
@VooooooNine
2 ай бұрын
факториалы так собрался решать? может на второе?)
@owmtgf3708
2 ай бұрын
это так не сработает, сработает только в случае, когда в строке не может встречаться больше чем два пробела в случае, если пробелов может быть больше, операцию можно выполнить в цикле while " " in text, тогда все будет корректно работать
@art_alf-b9b
2 ай бұрын
он сказал, что могут быть и три пробела, хотя в задание всего 2 озвучивалось. Вот код: text = text.split() text = ' '.join(text)
@viktorsk8202
6 ай бұрын
задание 2python можно просто replace использовать
@ДаниилВолков-г4т
8 ай бұрын
🔥 🔥 🔥
@coolbe07
8 ай бұрын
по идее в задаче по Pandas N2 ошибка, поскольку знаменатель нужно было взять в скобки 27:00
@spacecookies6814
7 ай бұрын
Нет, если бы она написала /60 то да, надо было, тут она вместо уменьшения знаменателя увеличила числитель
@spacecookies6814
7 ай бұрын
Английский немного не вяжется… когда парень говорит все время на русском а в конце сообщает: sounds good чувствуется кринж. А так, респект ребятам за хорошее произношение
@Forest_dahfksd
5 ай бұрын
Задачу 2 по Sql тоже можно решить проще )) select distinct first_name, last_name, salary from employees a JOIN salaries_history b ON a.employee_id = b.employee_id AND a.salary < b.salary
@dreaming_student
5 ай бұрын
Можно так решить 2-ю задачу по python? или это очень плохо по производительности? def del_spaces(text): lst = text.split() right_lst = list() for word in lst: right_lst.append(word.strip()) return ' '.join(right_lst) # ПРОВЕРКА str = del_spaces(" Привет, мир! Ты так красив!! ") print(str) print(len(str))
@ivani3237
5 ай бұрын
это же питон, здесь и слова-то такого не знают "производительность"
Пікірлер: 31