ПИТОН
Напишите программу, которая вводит два вещественных числа, x и y , и вычисляет значение x y .
Входные данные
Входная строка содержит два вещественных числа, разделённых пробелом.
Выходные данные
Нужно вывести одно значение – x y – с тремя знаками в дробной части.
Примеры
входные данные
1.23 4.56
выходные данные
2.570
Ответы
Ответ дал:
1
Відповідь:
numbers = list(map(float,input().split()))
numbers = str(numbers[0]**numbers[1]).split('.')
print(numbers[0]+"."+numbers[1][:3])
styles23:
Спасибоооо!
У этого способа есть минус, ибо происходит округление. Например: print('{0:.3f}'.format(2.5678)) дает на выходе: 2.568, а нас такое не устраивает.
Благодарю, сделал ещё лучше
Да, так тоже можно.
Ответ дал:
0
#Первый способ.
value1 = input().split()
value2 = float(value1[0])**float(value1[1])
print(str(value2)[:len(str(int(value2))) + 4])
#Второй способ
from functools import reduce
value = str(int(reduce(pow, map(float,input().split()))*1000))
print(value[:-3] + '.' + value[-3:])
красивый способ, но есть недостаток с отображение ''лишнего нуля''. Хотя на самом деле в каком-то смысле это даже достоинство.
А вот теперь придумал как можно избежать исчезновение нуля. Просто нереальный способ. Да, да у меня совсем поехала кукуха и мне нечего делать...
print(str((int(pow(*map(float,input().split()))*10000) +1)/10000)[:-1])
Ля, ну такое уже, нечитабельно немного, но да - 1 строка хэхэхэх
Кстати там не совсем верно. Ну да ладно. Для читабельности можно такой способ (отредактировал как раз свою ошибку)
value1 = map(float, input().split())
value2 = (int(pow(*value1)*1000)*10 + 1)/10000
print(str(value2)[:-1])
value2 = (int(pow(*value1)*1000)*10 + 1)/10000
print(str(value2)[:-1])
Вот еще что придумал. Уже совсем для "мажоров"
value1 = map(float, input().split())
value2 = int(pow(*value1)*1000)
print(f'{value2 // 1000}.{value2 % 1000}')
value2 = int(pow(*value1)*1000)
print(f'{value2 // 1000}.{value2 % 1000}')
Но можно оптимально сократить применив мою самую первую идею:
value = pow(*map(float, input().split()))
print(str(value)[:4 + len(str(int(value)))])
print(str(value)[:4 + len(str(int(value)))])
Вас заинтересует
2 года назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад
9 лет назад