Статья Автор: Лебедев Дмитрий Алексеевич

Задание 1

Игра угадай число
Задание
  1. Напиши функцию (guessing_game) которая принимает параметр N (по умолчанию N=100). 
    При вызове функции выбирает случайное число от 1 до N включительно
  2. Напишите функцию, которая организует диалог с пользователем 
  • запрашивает Имя пользователя 
  • запрашивает уровень игры (Новичок, специалист, профи)
  • выдает пользователю диапазон чисел
  • запрашивает ответ пользователя
  • возвращает одно из сообщений
    • Слишком большое
    • Слишком маленькое
    • То. что нужно
  • Если пользователь угадает число, программа выдает результат (количество запросов пользователя)
    и завершает работу.
    Результат пользователя может быть оценен
    • Отлично (кол-во вопросов не больше \(log_2N\))
    • Хорошо (превосходит Отлично не более, чем на 2)
    • можно добавить

      ​​​​​​​ 

Упражнение 2. Сложение чисел
Один из моих любимых типов упражнений включает в себя повторную реализацию функциональности, которую мы уже ви- дели в Python и в Unix. Э
то подготовка к следующему упраж- нению, в котором вам предстоит реализовать функцию sum.
Эта функция принимает последовательность чисел и возвращает сумму этих чисел.
Таким образом, если вы вызовете sum ([1,2,3]), то получите в результате 6.
Задача состоит в том, чтобы написать функцию mysum, кото- рая делает то же самое, что и встроенная функция sum. Однако вместо того чтобы принимать в качестве параметра одну последовательность, он должен принимать переменное количество аргументов. В результате вместо sum ([1,2,3]) вы вызовете mysum (1,2,3) или mysum (10,20,30,40,50).
def mysum (*numbers):
  output = 0
  for number in numbers:
    output += number
  return output
print (mysum (10, 20, 30, 40))

Упражнение 3. Время выполнения
Для этого упражнения мы предположим, что вы каждый день пробегаете 10 км согласно плану тренировок.
Вы хотите знать, сколько времени в среднем занимает бег.
Напишите функцию (run_timing), которая спрашивает, сколько времени вам понадобилось, чтобы пробежать 10 км.
Функция продолжит спрашивать, сколько времени (в минутах) потребовалось для дополнительных пробежек, пока пользова- тель не нажмет Enter. После этого функция вычислит и отобразит среднее время, потраченное на бег 10 км, а затем завершит работу.
Например, вот, как будет выглядеть вывод, если пользователь введет три примера данных:
Введите время пробега 10 км: 15
Введите время пробега 10 км: 20
Введите время пробега 10 км: 10
Введите время пробега 10 км:<enter>
Средний показатель 15.0, более 3 пробежек

В реальном приложении Python, если вы принимаете ввод от пользователя и вызываете float,
вам, вероятно, следует обернуть его в try, на случай, если пользователь введет недопусти- мое значение:
try:
  n = fl oat (input (‘Введите число: ‘))
  print (f’n = {n}’)
except  ValueError as e:
  print (‘Эй! Это недопустимое число!’)
Также помните, что значения чисел с плавающей точкой не являются абсолютно точными.
Если вы хотите напечатать в Python число с плавающей точкой, то лучше использовать f-строку.
Почему? Потому что таким образом можно указать количество цифр, которые будут выведены на печать.
Приведем пример:
>>> s = 0.1 + 0.7
>>> print (s)
0,7999999999999999
Это, вероятно, не то, чего вы хотите. Однако, поместив s внутрь f-строки, вы можете ограничить вывод:
>>> s = 0.1 + 0.7
>>> print (f’{s:.2f}’)
0.80
Печать