我想做一个代码来找到我的任务直线的梯度。
它运行得很好,但不幸的是它没有通过3测试用例,因为输出有小数,所以它将小数四舍五入使其成为整数。这是代码;
Ax, Ay = input ().split()
Bx, By = input ().split()
Ax=int (Ax)
Ay=int (Ay)
Bx=int (Bx)
By=int (By)
M=(By-Ay)//(Bx-Ax)
print (M)
输入(stdln)-10年72、4,
输出2
预期输出-1.75
但是当我将其设置为浮点数时它会添加不必要的"。0"到将失败的整数
Ax, Ay = input ().split()
Bx, By = input ().split()
Ax=float (Ax)
Ay=float (Ay)
Bx=float (Bx)
By=float (By)
M=(By-Ay)/(Bx-Ax)
print (M)
输入(stdln)4 0
0, 20日你的输出5.0
预期输出5
你可以在打印前做一点检查。如果结果等于result的整数,则为整数,否则为浮点数。
Ax, Ay = input().split()
Bx, By = input().split()
Ax = float(Ax)
Ay = float(Ay)
Bx = float(Bx)
By = float(By)
M = (By-Ay)/(Bx-Ax)
M = int(M) if M==int(M) else float(M)
print(M)
当您在python中对float进行算术运算时,您的结果也将是float类型。如果您想删除结果中的小数并使其成为整数,只需使用int()函数。
M=int((By-Ay)/(Bx-Ax))
这将结果转换为整数类型,并去掉小数。