Задача 3. Апгрейд калькулятора

Степан, как и большая часть населения планеты, для расчёта суммы и разности чисел использует калькулятор.

Однако в работе ему нужно делать не только обычные действия вроде сложения и вычитания, а делать что-то вручную он уже устал.

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

Каждое действие оформите в виде отдельной функции, а основную программу зациклите.

Решение:

menu = 'Доступные операции:\n \
A - Вывести сумму его цифр\n \
B - Вывести максиамльную цифру\n \
C - Вывести минимальную цифру\n \
Q - Выход'

def get_number_array(n):
  # Не хотелось циклом перебирать
  s = list(str(n))
  s = list(map(int, s))
  return s

def print_summ(n):
  print('Сумма чисел:', sum(get_number_array(n)))

def print_max(n):
  print('Максимальное число:', max(get_number_array(n)))

def print_min(n):
  print('Минимальное число:', min(get_number_array(n)))

def get_operation():
  print(menu)
  operation = input('Что сделать: ').upper()
  if (operation != 'A' and \
      operation != 'B' and \
      operation != 'C' and \
      operation != 'Q'):
    get_operation()
  return operation

while True:
  number = int(input('Введите число: '))
  if number == 0:
    break
  operation = get_operation()
  if operation == 'A':
    print_summ(number)
  elif operation == 'B':
    print_max(number)
  elif operation == 'C':
    print_min(number)
  elif operation == 'Q':
    break
  print()


2170login-checkЗадача 3. Апгрейд калькулятора

Добавить комментарий