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

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

питонщик Ученик (110), на голосовании 3 года назад
В прошлый раз учитель написал программу, которая выводит числа в формате плавающей точки, однако он вспомнил, что не учёл одну важную штуку: числа-то могут идти от нуля.
Задано положительное число x (x > 0). Ваша задача преобразовать его в формат плавающей точки, то есть x = a · 10^b, где 1 ≤ a < 10. Обратите внимание, что x теперь больше нуля, а не больше единицы. Обеспечьте контроль ввода.

Голосование за лучший ответ
Сергей Меньшиков Мыслитель (9902) 4 года назад
питонщикУченик (110) 4 года назад
Большое спасибо
Сергей ЛонкинЗнаток (317) 3 года назад
Чертов скиллбокс. я знал что я не один не понимаю их дурацкие видео уроки.
Сергей Лонкин, ахах жиза чел. Ты с какого города?
Сергей ДубовцевЗнаток (409) 3 года назад
def format(number):
degree = 0
if number < 1:
while number < 1:
number *= 10
degree -= 1
elif number >= 10:
while number >= 10:
number /= 10
degree += 1
print('Формат плавающей точки x = ', number, '* 10 ** ', degree)

number = float(input('Введите положительное число: '))
if number > 0:
format(number)
else:
print('Неверное число!')
Сергей Дубовцев, При вводе 0,0012 на выводе не будет 1.2. Нужно сокращение в большую сторону def number10(number): count = 0 while number > 10: number /= 10 count += 1 print('Формат плавающей точки: х =', number, '* 10 **', count) def number1(number): count = 0 while float(number) < 1: number *= 10 count -= 1 print('Формат плавающей точки: х =', round(number, 1), '* 10 **', count) num = float(input('Введите число: ')) if num > 1: number10(num) elif num > 0: number1(num) else: print('Ошибка ввода!')
Андрей МирныйУченик (181) 2 года назад
number = float(input("Введите число: "))
b = 0
r = 0
if number <= 1:
while number <= 1:
number *= 10
b -= 1
r+=1

print("Формат плавающей точки: x = ", round(number,r), "* 10 ** " + str(b))
elif number >= 10:
while number >= 10:
number /= 10
b += 1

print("Формат плавающей точки: x = ", number, "* 10 ** " + str(b))
Vasile CebotaruУченик (113) 2 года назад
def float_point(n):
k = 0
while n >= 10:
n /= 10
k += 1
print(f'Формат плавающей точки: х = ', n,' * 10 ** ', k)


def float_10(n):
k = 0
while n < 1:
n *= 10
k -= 1

print(f'Формат плавающей точки: х = ', round(n, 1),' * 10 ** ', k)

n = float(input('Введите число: '))

if n >= 10:
float_point(n)
elif n < 1:
float_10(n)
ЕленаЗнаток (400) 1 месяц назад
пример 2 не работает
Елена Знаток (400) Елена, пардон. работает
Jerraldino Ученик (215) 1 год назад
Почему в репле написано это задание не так, а с использованием как можно больше строк? То есть каждое предложение с новой строки! Приходится каждый раз задание переделывать, чтоб можно было потом прочитать и понять суть задания.
Тихая Елизавета Знаток (288) 1 год назад
def float_point(number):
count = 0
if number >= 1:
while number >= 10:
number /= 10
count += 1
elif 0 < number < 1:
while number < 1:
number *= 10
count -= 1
print('Формат плавающей точки: x =', number, '* 10 **', count)

number = float(input('Введите число: '))
if number <= 0:
print('Ошибка ввода. Число должно быть больше нуля.')
else:
float_point(number)
Константин Андреевич Знаток (359) 10 месяцев назад
 def counter(x,b): 
if x >= 1:
while x >= 10:
x /= 10
b += 1
x = round((x), b)
return x, b
if x < 1:
while x < 1:
x *= 10
b += 1
x = round((x), b)
return x, -b

x = float(input('Введите число больше 10: ' ))
if x > 0:
new_x, new_b = counter(x, 0)
print("Формат плавающей точки: x =", new_x, '* 10 **', new_b)

else:
print('Неправильное число!')
Похожие вопросы