我需要將用戶輸入四舍五入到下一個 30,例如,如果輸入的數字是 27,我需要輸出為 30。或者如果他們輸入 33,則輸出需要為 60。我什至不知道在哪里從這個開始。
像這樣:
15-->30
1-->30
35-->60
56-->60
61-->90
43-->60
等等任何輸入。
uj5u.com熱心網友回復:
你可以math.ceil這樣使用:
int(math.ceil(yourNum / 30.0)) * 30
也就是說,將您的數字除以 30,然后乘以 30。
uj5u.com熱心網友回復:
number = 35
# Integer division of the number by 30, add 1 and multiply by 30:
result = ((number - 1) // 30 1) * 30
uj5u.com熱心網友回復:
這有效:
import math
def round_next_multiple_of_30(input_number: int) -> int:
return math.ceil(input_number / 30.0) * 30
assert round_next_multiple_of_30(15) == 30
assert round_next_multiple_of_30(1) == 30
assert round_next_multiple_of_30(35) == 60
assert round_next_multiple_of_30(61) == 90
uj5u.com熱心網友回復:
下一個函式可用于四舍五入到任何基數:
import math
def myround(x, base=30):
return base * math.ceil(x/base)
uj5u.com熱心網友回復:
我建議除以 30,使用math.ceil()四舍五入到最接近的整數,然后再乘以 30:
import math
rounded_number = (math.ceil(unrounded_number / 30)) * 30
uj5u.com熱心網友回復:
這是我的解決方案:
import math
def next30(num):
return math.ceil(num / 30.0) * 30
number = float(input("Number: "))
print(next30(number))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443729.html
上一篇:如何在Python中使用數學函式
