2017-01-27 6 views
0

Итак, я начал учиться программировать на прошлой неделе, и теперь я не могу понять это сам. Мне нужен окончательный ответ «Размер от 24 до 192.» Но если я его обойду, это даст мне 192.0. Что мне нужно изменить?Poundon basic round use

minp = 23.75 
maxp = 192.4 
minp1 = round(minp, 0) 
maxp1 = round(maxp, 0) 
print("Size between " + str(minp1) + " to " + str(maxp1) + ".") 
+1

Просто перетащите ', 0' часть:' круглый (MINP) '. –

ответ

2

Это потому, что тип minp1 и maxp1 еще float s, вы можете изменить их int s, передавая их в int(..) конструктор:

minp = 23.75 
maxp = 192.4 
minp1 = int(round(minp, 0)) 
maxp1 = int(round(maxp, 0)) 
print("Size between " + str(minp1) + " to " + str(maxp1) + ".")

Или в терминале :

$ python3 
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> minp = 23.75 
>>> maxp = 192.4 
>>> minp1 = int(round(minp, 0)) 
>>> maxp1 = int(round(maxp, 0)) 
>>> print("Size between " + str(minp1) + " to " + str(maxp1) + ".") 
Size between 24 to 192.

Тем не менее, это не очень хорошая идея выполнять струнные обработки/конкатенации. Вы лучше отформатировать его с formatting string, как:

minp = 23.75 
maxp = 192.4 
minp1 = round(minp, 0) 
maxp1 = round(maxp, 0) 
print("Size between %d to %d."%(minp1,maxp1))

Здесь %d означает "Целое число десятичное". Таким образом, используя формат, Python заполнит переменные на самом %d местах, которые элегантны и требуют меньше внимания с вашей стороны.

+0

предпочитают использовать формат '% d' – ShmulikA

+0

@ user7438048: отличное предложение. Добавил это к ответу. –

+0

'int (round (minp, 0))' будет проще, чем 'round (minp)'. –

0

Если вы хотите, чтобы оставить число как float и в частности выход в целочисленном формате:

def r(val): 
    return "{0:.0f}".format(round(val)) 

minp = 23.75 
maxp = 192.4 
print("Size between {0} to {1}.".format(r(minp), r(maxp))) 

Результат:

Size between 24 to 192.