大佬看看代码,看看哪里错了
https://thumbnail1.baidupcs.com/thumbnail/c949f8758ia0a8267c9bed45bb54c047?fid=1590253992-250528-266060209193453&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-%2bkeL90%2fyYTyUNbWX9XafqJs0UQQ%3d&expires=8h&chkbd=0&chkv=0&dp-logid=393758874777537192&dp-callid=0&time=1672495200&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1n = input()
newn = n.split()
a = int(newn)
b = int(newn)
if b>0:
div = a//b
mod = a%b
print(str(div) + " " + str(mod)) // 在除不尽的时候会向下取整,-3.333333 向下取整就是 -4 了,因为 -4 < -3.3333,
isdkz 发表于 2022-12-31 22:54
// 在除不尽的时候会向下取整,-3.333333 向下取整就是 -4 了,因为 -4 < -3.3333,
可以用这个math.ceil吗 isdkz 发表于 2022-12-31 22:54
// 在除不尽的时候会向下取整,-3.333333 向下取整就是 -4 了,因为 -4 < -3.3333,
那该怎么改 本帖最后由 isdkz 于 2022-12-31 23:17 编辑
爱意随风起9306 发表于 2022-12-31 22:58
那该怎么改
可以先做一个判断,如果是负数的话先转成正数,转成正数计算的结果就是 3.3333...,向下取整就是 3 了,然后再把结果转回负数n = input()
newn = n.split()
a = int(newn)
b = int(newn)
if b>0:
div = a//b if a>0 else -(-a//b) # 改了这里
mod = a%b if a>0 else -(-a%b) # 改了这里
print(str(div) + " " + str(mod))
或者
n = input()
newn = n.split()
a = int(newn)
b = int(newn)
if b>0:
div, mod = divmod(a, b) if a>0 else map(lambda x: -x, divmod(-a, b))
print(str(div) + " " + str(mod))
isdkz 发表于 2022-12-31 23:10
可以先做一个判断,如果是负数的话先转成正数,转成正数计算的结果就是 3.3333...,向下取整就是 3 了, ...
谢谢 来看看
页:
[1]