Помогите решить задачу пожалуйста

Задача 4. Число наоборот 3

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

Пример:

Введите первое число: 102.12

Введите второе число: 123.34

Первое число наоборот: 201.21

Второе число наоборот: 321.43

Сумма: 522.64

Phyton

Как помочь? В чем проблема? Что пробовали? Что получилось, что не получилось?

a=input('Введите число: ')
b=' '
for i in a:
    b=i+b
print(b)

написал такой код для одного числа , но получается не совсем правильно

Если работать с числами в виде строк, то можно с помощью split разделить по точке (если разделитель только точка), и потом делать с этими частями что надо. Python String split()

a = '12.34'
parts = a.split('.')
print(parts[1] + '.' + parts[0]) # выведет 34.12

все дело в том ,что я не проходил еще этой темы .Я думал,что решение будет проще .Спасибо,что откликнулись

может быть, повод пройти ? :wink:

а что вы уже проходили? На какую тему вообще задание?
Что можно использовать, что нельзя?

На мой взгляд эту задачу корректно решать ТОЛЬКО через строки.
Ибо вещественные числа внутри компьютера представлены особым образом, там совсем не то, что мы видим внешне: целая часть в виде цифр, десятичный разделитель. дробная часть в виде конечного числа цифр, там совсем другое. Поэтому, имхо, нужно это делать через строки.

я вот, например, про Python только наслышан.
и, если бы мне запретили использовать методы расширения строки split() (ну и нарезку по одному символу с конца строки, чтобы получить строку в обратном порядке - см. How to Reverse a String in Python

то я бы “в лоб” такое примитивное решение написал:

input_number = input()

p = input_number.find('.')
if p<0:
   print('No decimal point in number')
else:
   s1 = ''
   s2 = ''
   for i in range(0, len(input_number)):
      if i<p:
         s1 = input_number[i] + s1
      if i>p:
         s2 = input_number[i] + s2
   new_number = s1 + input_number[p] + s2

   print(new_number)

надеюсь, что циклы for , встроенную функцию для получения длины строки len() и метод класса string для поиска в строке find() тебе известны?

1 лайк

я прошел функции, циклы for while и начал сейчас прохдить списки