Найти - Пользователи
Полная версия: Округление чисел float
Начало » Python для новичков » Округление чисел float
1
SirRis
Здравствуйте! Начал изучать питон,вот решаю задачку - 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]))

Еще немного не по теме:посоветуйте,кто знает хороший ресурс с подобными задачами для самостоятельного выполнения,но с решением и пояснениями. Ответы у меня вроде и сходятся,но я не уверен,что мой код не говнокод)
SirRis
Сам вроде разобрался
  if Res-int(Res)==0.5:
     return round(Res+0.1)
 else :
     return round(Res)

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

А вы уверены, поскольку если res=-1.5 мы получим -2, т.е. round(res), а по условию ожидается округление в сторону 0, т.е. -1 должно быть.
SirRis
scidam Ваша правда,спасибо.Убрал else
Stright
SirRis
И еще вопрос-можно ли как-то в pycharm закомментировать блок кода,не проставляя # перед каждой строчкой
Выделяете блок кода, нажимаете Ctrl + /
SirRis
Stright
Большое спасибо.
JOHN_16
1) Ну для начала читаем документацию по round
2) если очень заинтересовались - читаем познавательное Floating Point Arithmetic: Issues and Limitations
3) Если стоит задача работать с вещественными числами с достаточной точностью, то используем модуль Decimal и смотрим пример как там происходит округление
SirRis
JOHN_16
Ну,я немного разобрался уже с round,seil и floor.И с английским языком я на Вы)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB