Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2018 06:26:48

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

Здравствуйте! Начал изучать питон,вот решаю задачку - http://www.codeabbey.com/index/task_view/rounding–ru.
Есть в языке ф-ция round(x),но для решения для положительных чисел она не подходит,т.к например round(1,5)=1.
Вот что я напридумывал

 a = []
def delen(b, n):
 Res=int(b)/int(n)
 if Res>0: #and ... -вот тут никак не могу придумать че написать:
     return #... -тут уж сам додумаю
 elif Res<0:
     return round(Res)
while True:
     inp = input()
     if not inp:
         break
     a.append(inp)
# print(a)
for i in range(len(a)):
    mass = a[i].split()
    print(delen(mass[0], mass[1]))

Еще немного не по теме:посоветуйте,кто знает хороший ресурс с подобными задачами для самостоятельного выполнения,но с решением и пояснениями. Ответы у меня вроде и сходятся,но я не уверен,что мой код не говнокод)

Офлайн

#2 Апрель 19, 2018 07:13:56

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

Сам вроде разобрался

  if Res-int(Res)==0.5:
     return round(Res+0.1)
 else :
     return round(Res)

Вторая часть вопроса все еще актуальна

Офлайн

#3 Апрель 19, 2018 07:18:36

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

И еще вопрос-можно ли как-то в pycharm закомментировать блок кода,не проставляя # перед каждой строчкой

Офлайн

#4 Апрель 19, 2018 07:48:54

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Округление чисел float

SirRis
Сам вроде разобрался

А вы уверены, поскольку если res=-1.5 мы получим -2, т.е. round(res), а по условию ожидается округление в сторону 0, т.е. -1 должно быть.

Офлайн

#5 Апрель 19, 2018 08:50:24

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

scidam Ваша правда,спасибо.Убрал else

Офлайн

#6 Апрель 19, 2018 09:25:15

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Округление чисел float

SirRis
И еще вопрос-можно ли как-то в pycharm закомментировать блок кода,не проставляя # перед каждой строчкой
Выделяете блок кода, нажимаете Ctrl + /

Офлайн

#7 Апрель 19, 2018 10:27:46

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

Stright
Большое спасибо.

Офлайн

#8 Апрель 19, 2018 11:58:33

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Округление чисел float

1) Ну для начала читаем документацию по round
2) если очень заинтересовались - читаем познавательное Floating Point Arithmetic: Issues and Limitations
3) Если стоит задача работать с вещественными числами с достаточной точностью, то используем модуль Decimal и смотрим пример как там происходит округление



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#9 Апрель 19, 2018 16:00:24

SirRis
Зарегистрирован: 2018-04-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление чисел float

JOHN_16
Ну,я немного разобрался уже с round,seil и floor.И с английским языком я на Вы)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version