Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 15, 2010 16:42:59

Murderdoll666
От:
Зарегистрирован: 2010-09-15
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

Здравствуйте.
Мне задали написать не большую программку.
Её задача спросить сколько людей, сколько мест в автобусе и по этим данным выдавать сколько автобусов нужно и сколько будет в последнем автобусе.
Вот в чем проблема. Например у меня 115 человек, в автобусе 40 мест. Если так посчитать то выходит: нужно 3 автобуса, в последнем 35 человек.
Однако Python выдаёт мне 2 автобуса (115/40=2,875). Как правильно округлить чтобы он выдовал нужное количество

#Buss
print "Кол. людей?"
a=input()
print "Сколько мест в автобусе?"
b=input()
print "Нужное кол. автобусов:"
print round(a/b,0)
print "Людей в последнем автобусе:"
print a%b
Самое забавное что если написать
 round(2.875,0)
то Python Command Line выдаёт 3.0
ПС. Я прямо совсем новичок, так что сильно за код не ругать. Как научили так и пишем.
За ранее спасибо



Офлайн

#2 Сен. 15, 2010 18:28:53

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

>>> 115/40
2
>>> 115 % 40
35
>>> 2*40+35
115



Офлайн

#3 Сен. 15, 2010 18:33:38

Murderdoll666
От:
Зарегистрирован: 2010-09-15
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

asv13
>>> 115/40
2
>>> 115 % 40
35
>>> 2*40+35
115
Извините, но я не поняла…



Офлайн

#4 Сен. 15, 2010 19:05:13

imaksimus
От:
Зарегистрирован: 2010-09-10
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

можно вот так: round(float(a)/b,0)



Офлайн

#5 Сен. 15, 2010 19:16:07

SETY
От:
Зарегистрирован: 2010-06-04
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

у мну так работает

#Buss
print "Кол. людей?"
a=float(input())
print "Сколько мест в автобусе?"
b=float(input())
print "Нужное кол. автобусов:"
print round(a/b,0)
print "Людей в последнем автобусе:"
print a%b



Офлайн

#6 Сен. 15, 2010 19:28:26

CryptSpirit
От:
Зарегистрирован: 2010-05-05
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

Murderdoll666
Самое забавное что если написать
Код:
round(2.875,0)
дело в том что питон если ему явно не задать что данные будут дробные их таковыми не считает. Вы правильно подметели но тут вы задаете питону что число в числителе дробно. А если в ходе выполнения программы укажите a и b например 100 и 3 то питон будет их делить отбрасывая десятые. Ситуация меняется при 100./3
>>> 100/3
33
>>> 100./3
33.333333333333336
>>> a = 100
>>> float(a)/3
33.333333333333336



Отредактировано (Сен. 15, 2010 19:30:15)

Офлайн

#7 Сен. 15, 2010 22:02:29

Murderdoll666
От:
Зарегистрирован: 2010-09-15
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Округление в Python

imaksimus
можно вот так: round(float(a)/b,0)
спасибо, так очень даже работает
SETY, спасибо так тоже работает, но слегка не логично, получаеться количество людей и автобусов может быть дробным)))
CryptSpirit, спасибо большое, поняла свою ошибку)
Всем спасибо, задача решана))



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version