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

Нужна помощь решить задачу по Python "Сантикилометр"

Nursultan Moidinov Ученик (29), на голосовании 3 месяца назад
Задача №13 "Сантикилометр"
Сколько сантиметров в сантикилометре?
Это не совсем абракадабра, можно посчитать.
Приставка санти- означает деление на 100, приставка кило- – умножение на 1000. Значит, в сантикилометре 10 метров. А в метре – 100 сантиметров. Получаем ответ: в одном сантикилометре 1000 сантиметров.
Напишите программу, которая будет способна переводить такие странные единицы измерения – может быть много приставок санти- и много кило- – в сантиметры.
Формат ввода
Вводится слово, состоящее из произвольного количества приставок санти- и кило-, последним идет слово метр.
Формат вывода
Если получается целое число, то его и нужно выводить. Если получается дробь, то ее нужно выводить в виде:
1/<единица и необходимое количество нулей>.

Пример №1
****************************************
Ввод Вывод
****************************************
сантикилометр 1000
****************************************

Пример №2
*****************************************
Ввод Вывод
*****************************************
сантисантикилокилометр 10000
*****************************************

Пример №3
****************************************************
Ввод Вывод
****************************************************
сантисантикилосантисантиметр 1/1000
****************************************************
Примечания
В задаче нельзя использовать индексацию, срезы и методы строк.
Голосование за лучший ответ
Dians Мастер (2017) 4 месяца назад
Для решения этой задачи можно написать программу на Python, которая будет принимать ввод от пользователя, а затем обрабатывать его и выводить результат. Ниже пример кода для такой программы (делал gpt https://habab.ru/pomoshchnik-v-napisanie-koda-na-python/ ) :

def convert_to_centimeters(input_str):
multipliers = {'санти-': 0.01, 'кило-': 1000, 'метр': 1}
input_list = input_str.split()
result = 1
for word in input_list:
if word in multipliers:
result *= multipliers[word]
result = int(result * 100) # Умножаем на 100, чтобы из метров получить сантиметры
if result % 100 == 0:
print(result // 100)
else:
print(f"1/{10000 // (result % 100)}")

input_str = input("Введите значение со словами санти- и кило-: ")
convert_to_centimeters(input_str)
Nursultan MoidinovУченик (29) 4 месяца назад
спасибо тебе добрый человек
Похожие вопросы