@python_beginnersЭта группа больше не существует

Страница 42 из 1885
Андрей
10.06.2016
10:16:38
да я как бы не старший :) и обидеть никого не хотел, так мимо проходил ))

Viktor
10.06.2016
10:17:12
float('0.' + str(17.95).split('.')[1])
Это как тот способ определения знака через sprintf в Си

Zart
10.06.2016
10:19:23
вот только нет гарантии что на этапе str(x) не произойдет то самое

Google
Zart
10.06.2016
10:19:41
а, это было про фрак

кстати: >>> -1.3%1 0.7

Andrey
10.06.2016
10:22:36
кстати: >>> -1.3%1 0.7
По определению остатка всё верно.

Zart
10.06.2016
10:22:45
я знаю что верно

Andrey
10.06.2016
10:22:53
a = [a] + {a}

Zart
10.06.2016
10:22:54
но подозреваю для новичков это сюрприз

Andrey
10.06.2016
10:23:05
0<={a}<1

[a]<=a

Zart
10.06.2016
10:23:18
угу, именно

Andrey
10.06.2016
10:23:29
Ну, это я для новичков)

Zart
10.06.2016
10:24:26
в питоне есть встроенная функция divmod, которая возвращает результаты деления нацело и остаток: >>> divmod(1.3, 1), divmod(-1.3, 1) ((1.0, 0.30000000000000004), (-2.0, 0.7))

Tux
10.06.2016
10:25:44
сильно помогает обучение, когда задания не сам делаешь, а спрашиваешь в группе питонистов?
я не просто копирую, я разбираюсь как оно так получилось и вообще пишу только после того как сам не смог разобраться

Omni
10.06.2016
10:26:02
a = [a] + {a}
это вы про Javascript?

Google
Zart
10.06.2016
10:26:13
это было про математику

Andrey
10.06.2016
10:26:23
это вы про Javascript?
Нет. [] - целая часть, {} - дробная часть числа

vozzurg
10.06.2016
10:26:33
это мой калькулятор :/

Andrey
10.06.2016
10:26:54
это мой калькулятор :/
Гифки чем делаешь?

Zart
10.06.2016
10:27:02
ни маски в поле ввода, ни выравнивания кнопок..

vozzurg
10.06.2016
10:27:13
Zart
10.06.2016
10:27:23
https://media.giphy.com/media/DcpX9wE0Rmgpi/200.gif

Tux
10.06.2016
10:28:16
кто мне все таки поможет?

vozzurg
10.06.2016
10:28:19
ни маски в поле ввода, ни выравнивания кнопок..
я только с ткинтером начал работать

Zart
10.06.2016
10:28:40
да комментарии были безотносительно тулкита

Tux
10.06.2016
10:28:54
может мне брать это как строку а не как число и потом переписывать все что после запятой и добавлять 0

Zart
10.06.2016
10:29:07
кто мне все таки поможет?
на твои вопросы выше вроде ответили. что не хватает?

Tux
10.06.2016
10:29:32
кстати: »> -1.3%1 0.7 ты про это?

Zart
10.06.2016
10:29:58
это было про то, что для отрицательных надо определить что ты хочешь

вообще у меня ощущение что тебе достаточно на выводе округлять до 2-3 знаков и всё

Tux
10.06.2016
10:30:25
там вообще надо не остаток выводить

там надо не округдением

Zart
10.06.2016
10:30:51
мы не телепаты, чтобы знать "что там надо"

Tux
10.06.2016
10:30:58
потому что там может в разную сторону округляться в зависимости от числа

Google
Zart
10.06.2016
10:31:16
округления разные бывают

Tux
10.06.2016
10:31:16
Дано положительное действительное число X. Выведите его дробную часть.

17.9 0.9 10.34 0.34 0.001 0.001 179 0

Zart
10.06.2016
10:33:49
>>> '%g' % (17.9 % 1) '0.9' >>> '%g' % (10.34 % 1) '0.34' >>> '%g' % (10.001 % 1) '0.001' >>> '%g' % (179 % 1) '0'

Andrey
10.06.2016
10:34:14
>>> '%g' % (17.9 % 1) '0.9' >>> '%g' % (10.34 % 1) '0.34' >>> '%g' % (10.001 % 1) '0.001' >>> '%g' % (179 % 1) '0'
Ну зачем ты так? Они же потом без чата сделать ничего не смогут.

Tux
10.06.2016
10:34:45
вообще я не прошу ответа

я хочу только подсказки

Zart
10.06.2016
10:34:58
мало кто вспоминает про %g, все сразу за %f хватаются

Andrey
10.06.2016
10:35:02
Zart
10.06.2016
10:35:09
не лучше

Andrey
10.06.2016
10:35:27
не лучше
Так сразу понятно что ты сделать хочешь.

Omni
10.06.2016
10:35:33
Но лучше math.modf использовать.
>>> math.modf(5.46) (0.45999999999999996, 5.0) 8(

Zart
10.06.2016
10:35:54
это как x**y vs math.pow(x, y)

Andrey
10.06.2016
10:36:04
>>> math.modf(5.46) (0.45999999999999996, 5.0) 8(
И что? Вещественная арифметика.

Zart
10.06.2016
10:36:26
math - обёртка вокруг libm, % - встроенная питоноарифметика

Andrey
10.06.2016
10:36:27
это как x**y vs math.pow(x, y)
Нет, не так. x%1 - с ппервого взгляда даже не поймёшь что это за хрень.

Omni
10.06.2016
10:36:33
А если афтор хочет чтоб было без 99999999999996?

Zart
10.06.2016
10:36:55
А если афтор хочет чтоб было без 99999999999996?
я привел пример как вывести с красивым округлением

Omni
10.06.2016
10:38:32
Google
Zart
10.06.2016
10:38:56
нахера там float?

Omni
10.06.2016
10:39:13
а иначе это будет str

Zart
10.06.2016
10:39:19
...

Tux
10.06.2016
10:39:25
import math a = (input()) print(math.modf(a)) выдает ошибку

a float is required

Admin
ERROR: S client not available

Zart
10.06.2016
10:39:57
input вернул строку, а модф требует флоат

Tux
10.06.2016
10:41:02
import math a = float(input()) print(math.modf(a))

(0.8999999999999986, 17.0)

а что если это не как число брать а как строку и отсортировывать только после запятой а если не запятой то выводить 0

Tux
10.06.2016
10:43:17
вот бы знать как это сделать

я до такого еще не дошел

Andrey
10.06.2016
10:43:39
вот бы знать как это сделать
Проверить наождение символа в строке можешь?

Tux
10.06.2016
10:44:31
нет

такое еще не изучил

Omni
10.06.2016
10:44:45
Tux
10.06.2016
10:44:50
тогда наверно надо други методом решать

Andrey
10.06.2016
10:45:03
str(a).index('.')
'.' in some_string

Google
Andrey
10.06.2016
10:45:37
Зачем во float?

Viktor
10.06.2016
10:45:38
str(a).index('.')
какой-то JS

Omni
10.06.2016
10:45:59
какой-то JS
Я им даже не владею XD

Zart
10.06.2016
10:46:37
это вас понесло в невозбранный пиздец

Tux
10.06.2016
10:47:00
a = float(input()) print (float('0.' + str(a).split('.')[1]))

работает

но я не значто что такое split

Zart
10.06.2016
10:47:13
не работает же

введи любое целое

и получи индексеррор

Tux
10.06.2016
10:47:36
Zart
10.06.2016
10:48:26
а, флоат у нас в строке форсит точку

Andrey
10.06.2016
10:48:37
Zart
10.06.2016
10:49:01
и нахуя он конвертировал во флоат изначально, если вы тут же обратно в строку перегоняете

Tux
10.06.2016
10:50:15
вот эталонное решение

x = float(input()) print(x - int(x))

Страница 42 из 1885

Эта группа больше не существует Эта группа больше не существует