如何将Python中存储在变量中的两个整数除法?
我有两个数字存储在变量a和b中,我想看看这两个数字的比率在python中是整数还是非整数。然而当我尝试如何将Python中存储在变量中的两个整数除法?,python,Python,我有两个数字存储在变量a和b中,我想看看这两个数字的比率在python中是整数还是非整数。然而当我尝试 result = a./b 这给了我一个机会 SyntaxError: invalid syntax 但是如果我说 result = a/b 它截断小数部分。如何获得完整性测试的完整数字 我打算用 if (not isinstance(result, (int, long))): then do something for non-integer numbers.. 谢谢,我
result = a./b
这给了我一个机会
SyntaxError: invalid syntax
但是如果我说
result = a/b
它截断小数部分。如何获得完整性测试的完整数字
我打算用
if (not isinstance(result, (int, long))):
then do something for non-integer numbers..
谢谢,我正在使用python 2.7.1。使用这行代码可以获得您想要的除法行为:
from __future__ import division
或者,您可以使用模数:
if (a % b) == 0: #do something
x和y的商
x // y
x和y的商
1./2
语法之所以有效,是因为1.
是一个浮点数。它与1.0
相同。点并不是一个特殊的操作符,它使某个东西成为浮点数。因此,您需要以其他方式将一个(或两个)操作数转换为浮点数——例如,对它们使用float()
,或者通过改变它们的计算方式来使用浮点数——或者通过在模块顶部使用from uuu future uuu import division
打开“真除法”。乘以1
result = 1. * a / b
或者,使用float函数
result = float(a) / b
如果“a”已经是小数;添加“.”将使3.4/b(例如)变成3.4/b
尝试浮点(a)/b除非
x
和y
是整数,就像这里的情况一样。@Thomas Wouters:在Python3中(以及Python2中带有from uuuuu future\uuuuu import division
),总是这样的。@delnan:是的,我知道。OP的问题显然不是这样,或者a/b
不会截断任何东西。这正是它所做的。
result = float(a) / b