亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法知道Python中的某些內容是向上舍入還是向下舍入?

有沒有辦法知道Python中的某些內容是向上舍入還是向下舍入?

回首憶惘然 2023-12-12 10:18:56
我基本上想知道我的方程(這是一個像這樣的簡單方程x / y)的結果是向上舍入還是向下舍入。原因是我在舍入行之后有兩個簡單的語句,如下所示:if h % 2 != 0: h = h + 1 if h % 4 != 0: h = h + 2根據舍入的方向,我會選擇+or-運算符,因此如果結果向上舍入h % 2 != 0,則結果為h = h + 1,如果向下舍入則h = h - 1。是否round()提供此類信息?另外,我的數學正確嗎?(我希望結果能被4整除)
查看完整描述

4 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

嘗試直接四舍五入到 4:


import math


h = 53.75

rounded = math.round(h / 4) * 4


if (rounded > h):

  print("Rounded up by " + str(rounded - h))

else:

   print("Rounded down by " + str(h - rounded))


查看完整回答
反對 回復 2023-12-12
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

如果給定小數點后的數字是:則使用 round()

  • >=5 + 1 將被添加到最終值。

  • <5 表示最終值將按原樣返回到上述小數位。

但是您可以使用math 包中的ceilfloor,它總是分別向上或向下舍入。

import math


>>> math.ceil(5.2)

6

>>> math.floor(5.9)

5


查看完整回答
反對 回復 2023-12-12
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

假設您想知道 和 是否3.9被4.4四舍五入。你可以這樣做:


def is_rounded_down(val, ndigits=None):

    return round(val, ndigits) < val

然后你可以簡單地調用該函數來找出


>>> is_rounded_down(3.9)

False

>>> is_rounded_down(4.4)

True

默認情況下round()不會提供該信息,因此您需要自行檢查。


查看完整回答
反對 回復 2023-12-12
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

對于 Python 2.X 整數除法返回一個整數并且總是向下舍入。


add@LM1756:~$ python

Python 2.7.13 (default, Sep 26 2018, 18:42:22)

>>> print 8/3

2

>>> print type(5/2)

<type 'int'>

對于 Python 3.X 整數除法返回浮點數,因此沒有舍入。


add@LM1756:~$ python3

Python 3.5.3 (default, Sep 27 2018, 17:25:39)

>>> print(8/3)

2.6666666666666665

>>> type(8/3)

<class 'float'>

>>>


查看完整回答
反對 回復 2023-12-12
  • 4 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號