2017-01-27 31 views
0

私は先週プログラムに習い始めましたが、今は自分でそれを理解できません。最終的な回答は「24〜192のサイズ」にする必要があります。しかし、それを丸めれば、それは私に192.0を与えます。私は何を変更する必要がありますか?Pythonの基本的なラウンド使用

minp1maxp1の種類はまだ floatているので、あなたが int(..)コンストラクタに渡すことで intにそれらを変更することができます
minp = 23.75 
maxp = 192.4 
minp1 = round(minp, 0) 
maxp1 = round(maxp, 0) 
print("Size between " + str(minp1) + " to " + str(maxp1) + ".") 
+1

を一部だけ0 '、'をドロップ) '。 –

答えて

2

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))) 

結果: `ラウンド(MINP:

Size between 24 to 192.