В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
vikysa27
vikysa27
12.05.2023 10:03 •  Информатика

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

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

first_n = int(input("Введите первое число: "))

first_num_count = 0
temp = first_n

while temp > 0:
first_num_count += 1
temp = temp // 10
if first_num_count < 3:
print("В первом числе меньше трёх цифр.")
else:
last_digit = first_n % 10
first_digit = first_n // 10 ** (first_num_count - 1)
between_digits = first_n % 10 ** (first_num_count - 1) // 10
first_n = last_digit * 10 ** (first_num_count - 1) + between_digits * 10 + first_digit

print('Изменённое первое число:', first_n)

second_n = int(input("\nВведите второе число: "))

second_num_count = 0
temp = second_n
while temp > 0:
second_num_count += 1
temp = temp // 10

if second_num_count < 4:
print("Во втором числе меньше четырёх цифр.")
else:
last_digit = second_n % 10
first_digit = second_n // 10 ** (second_num_count - 1)
betweenDigits = second_n % 10 ** (second_num_count - 1) // 10
second_n = last_digit * 10 ** (second_num_count - 1) + between_digits * 10 + first_digit

print('Изменённое второе число:', second_n)

print('\nСумма чисел:', first_n + second_n)

Показать ответ
Ответ:
Moduev
Moduev
11.09.2021 16:17

Программа:

def changes_numbers(a):

   a[0], a[-1] = a[-1], a[0]

   return ''.join(a)

 

first_n = list(input("Введите первое число: "))

print("В первом числе меньше трёх цифр." if len(first_n) < 3 else changes_numbers(first_n))

second_n = list(input("Введите второе число: "))

print("Во втором числе меньше четырёх цифр." if len(second_n) < 4 else changes_numbers(second_n))

print('Сумма чисел:', int(changes_numbers(first_n)) + int(changes_numbers(second_n)))

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота