profile
Размещено 3 года назад по предмету Информатика от tatianamarkova905

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

И тут вы натыкаетесь на программу, которая была написана прошлым программистом и которая как раз решает такую задачу! Однако старший программист сказал вам немного переписать этот код, чтобы он не выглядел так ужасно. Да и вам самим становится, мягко говоря, не по себе от него.

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



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)

  1. Ответ на вопрос
    Ответ на вопрос дан vanisherxxx

    Программа:

    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)))

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.