我需要在不使用import math
的情况下完成3/2结果(1.5)。
math.floor(3/2)
=> 3//2
math.ceil(3/2)
=> ?
好的,这是问题所在: 总结所有数字 15 + 45 + 15 + 45 + 15 ...... 有N个项目。
sum = (n//2) * 5 + int(n/2) * 15
答案 0 :(得分:3)
尝试
def ceil(n):
return int(-1 * n // 1 * -1)
def floor(n):
return int(n // 1)
我使用int()将值设为整数。由于上限和下限是四舍五入的一种,我认为整数是返回的合适类型。
整数除法// //移至数字行左侧的下一个整数。因此,通过使用-1,我绕着方向切换以获得上限,然后使用另一个* -1返回原始符号。数学是从左到右完成的。
答案 1 :(得分:1)
尝试:
def ceil(n):
res = int(n)
return res if res == n or n < 0 else res+1
def floor(n):
res = int(n)
return res if res == n or n >= 0 else res-1
答案 2 :(得分:0)
尝试:
if a%b != 0:
print(int(a//b + 1))
else:
print(int(a/b))
答案 3 :(得分:0)
math.ceil() 等效
def ceil(n):
return (n + 1) // 2