Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей на Python

Александр Смирнов Ученик (138), на голосовании 4 недели назад
Напишите программу, запрашивающую у пользователя число и действие, которое нужно сделать с числом: вывести сумму его цифр, максимальную или минимальную цифру. Каждое действие оформите в виде отдельной функции, а основную программу зациклите.
используя только def, if, elif, else
Голосование за лучший ответ
Рустам Абдрашитов Мыслитель (9542) 2 месяца назад
 def get_digits(number): 
"""Функция для получения списка цифр числа."""
return [int(digit) for digit in str(abs(number))]

def sum_of_digits(number):
"""Функция для вычисления суммы цифр числа."""
return sum(get_digits(number))

def max_digit(number):
"""Функция для нахождения максимальной цифры числа."""
return max(get_digits(number))

def min_digit(number):
"""Функция для нахождения минимальной цифры числа."""
return min(get_digits(number))

def main():
while True:
# Запрашиваем у пользователя число
user_input = input("Введите число (или 'exit' для выхода): ")
if user_input.lower() == 'exit':
print("Выход из программы.")
break

# Проверяем, является ли ввод числом
try:
number = int(user_input)
except ValueError:
print("Пожалуйста, введите корректное число.")
continue

# Запрашиваем действие
action = input("Введите действие (sum, max, min): ").lower()

if action == 'sum':
result = sum_of_digits(number)
print(f"Сумма цифр числа {number} равна {result}.")
elif action == 'max':
result = max_digit(number)
print(f"Максимальная цифра числа {number} равна {result}.")
elif action == 'min':
result = min_digit(number)
print(f"Минимальная цифра числа {number} равна {result}.")
else:
print("Некорректное действие. Пожалуйста, выберите 'sum', 'max' или 'min'.")

if __name__ == "__main__":
main()
Похожие вопросы