Education 1.1 Help

Задачи

Задача 1

На занятии мы написали функцию greet():

def greet(): name = input() print("Hello,␣", name)

Исправьте эту функцию так, чтобы она спрашивала у пользователя не только имя, а имя и фамилию (каждое на отдельной строке), а затем выводила официальное приветствие в форме “Здравствуйте, {имя} {фамилия}.”.

В решении вы должны только написать эту функцию, но не запускать её. Чтобы тестирующая система могла проверить её, функция должна быть названа в точности greet и не должна иметь аргументов.

Формат ввода

greet()

C клавиатуры вводится:

Иван Смирнов

Формат вывода

Здравствуйте, Иван Смирнов.

Задача 2

Напишите функцию space_game(text), которая симулирует следующую игру: если количество пробелов в строке в переменной text является четным, то печатается: «Вы выиграли», в противном случае выводится сообщение с текстом: «Вы проиграли».

Пример 1

Ввод

space_game('я иду с мечем судия')

Вывод

Вы выиграли

Пример 2

Ввод

space_game('Привет мир')

Вывод

Вы проиграли

Задача 3

Представьте себе координатную плоскость, образованную осями OX и OY. Оси делят плоскость на 4 равных части, которые для удобства пронумеровали следующим образом: четверть справа вверху обозначается I, и далее против часовой стрелки соответственно II, III и IV.

Напишите функцию quarter(xcoord, ycoord), которая принимает в качестве параметра координаты точки на плоскости и печатает, в какой четверти она лежит (см. пример)

Пример 1

Ввод

quarter(3, 4)

Вывод

I четверть

Пример 2

Ввод

quarter(-3.5, 8)

Вывод

II четверть

Задача 4

Напишите функцию who_are_you_and_hello(), которая читает имя пользователя из стандартного ввода, пока он не введет его в правильном формате, а затем здоровается. Приветствие должно быть в форме: “Привет, {имя}!”. После вывода надо не забыть перевести курсор на новую строку.

Если пользователь ввёл имя в неправильной форме, функция должна считать его снова. Корректным считается имя, состоящее из одного слова, в котором нет символов кроме букв, первая буква заглавная, остальные — строчные.

После вывода приветствия функция должна завершить свою работу.

Обратите внимание: в вашей программе должна быть функция who_are_you_and_hello, но она не должна вызываться. Следите за тем, чтобы имя функции было написано верно.

Формат ввода

who_are_you_and_hello()

C клавиатуры вводится:

Зачем тебе это знать? Хорошо, записывай Василий Пупкин Василий 1 Вася1 Вася! ВАСЯ Вася И тебе привет Михаил? Михаил

Формат вывода

Привет, Вася!

Задача 5

Чтобы из трех отрезков можно было составить треугольник, необходимо и достаточно, чтобы сумма длин любых двух отрезков была строго больше третьего.

Напишите функцию triangle(a, b, c), которая принимает на вход три длины отрезков и определяет, можно ли из этих отрезков составить треугольник. Ваша функция должна печатать «Это треугольник», если составить треугольник можно, и «Это не треугольник», если нельзя.

Пример 1

Ввод

triangle(1, 1, 2)

Вывод

Это не треугольник

Пример 2

Ввод

triangle(7, 6, 10)

Вывод

Это треугольник

Задача 6

Напишите функцию print_average(arr), которая принимает список целых чисел в качестве аргумента и печатает среднее значение элементов этого списка.

В случае, когда список пустой, функция должна напечатать ноль.

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

Пример 1

Ввод

print_average([])

Вывод

0

Пример 2

Ввод

print_average([79])

Вывод

79.0

Задача 7

Напишите функцию print_statistics(arr), которая принимает список целых чисел и печатает несколько так называемых статистик этого списка: число элементов, среднее значение, минимальный и максимальный элемент в списке, медиану списка.

Медианой называется число, больше которого ровно половина списка. В отсортированном списке из нечетного числа элементов он находится ровно посередине. Если элементов в списке четное число, то медианой является любое из значений, лежащих между двумя центральными элементами. Обычно в таких случаях выбирают среднее значение от двух центральных элементов. Мы просим вывести его.

Для пустого списка вместо всех статистик выведите нули.

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

Например, вызов print_statistics([3,5,8,4]) должен последовательно распечатать на экране все статистики:

4 5.0 3 8 4.5

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

Пример 1

Ввод

print_statistics([])

Вывод

0 0 0 0 0

Пример 2

Ввод

print_statistics([22])

Вывод

1 22.0 22.0 22.0 22.0

Задача 8

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

Напишите три функции:

  • print_shrug_smile(), которая печатает ¯_(ツ)_/¯

  • print_ktulhu_smile(), которая печатает {:€

  • print_happy_smile(), которая печатает (͡° ͜ʖ ͡°)

Обратите внимание, что вам не нужно в программе эти функции вызывать. Следите за тем, чтобы имена функций были написаны верно.

Пример

Ввод

print_shrug_smile() print_ktulhu_smile() print_happy_smile()

Вывод

¯\_(ツ)_/¯ {:€ (͡° ͜ʖ ͡°)

Задача 9

Напишите функцию ask_password(), которая запрашивает у пользователя пароль и сверяет его со строкой, в которой записано слово “password”. Пользователю дается три попытки. Как только пароль совпал с правильным значением, функция должна выводить «Пароль принят» и игнорировать дальнейший ввод. Если с трех попыток пользователь не смог угадать пароль, функция должна вывести на экран «В доступе отказано» и игнорировать ввод новых паролей.

Обратите внимание: в вашей программе должна быть функция ask_password, но она не должна вызываться. Следите за тем, чтобы имя функции было написано верно.

Тестирующая программа выглядит следующим образом:

ask_password()

Пример 1

Ввод

qwerty 1234 йцукен

Вывод

В доступе отказано

Пример 2

Ввод

qwerty 1234 password

Вывод

Пароль принят

Задача 10

Вам необходимо написать функцию golden_ratio(i), которая получает число i как аргумент и печатает i-ое последовательное приближение золотого сечения.

i-ое приближения золотого сечения вычисляется как отношение (i+1)-го числа Фибоначчи к i-му.

Числами Фибоначчи называется последовательность, первые два элемента которой (нумерация с единицы) равны 1, а каждое из последующих чисел равно сумме двух предыдущих. Первые члены последовательности Фибоначчи таковы:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Таким образом первое приближение золотого сечения — 1/1, второе — 2/1, третье — 3/2, четвертое — 5/3 и т. д.

Следите за правильностью названия функции.

Пример 1

Ввод

golden_ratio(1)

Вывод

1.0

Пример 2

Ввод

golden_ratio(2)

Вывод

2.0

Пример 3

Ввод

golden_ratio(4)

Вывод

1.6666666666666667
Last modified: 08 April 2025