Skip to main content
 首页 » 编程设计

python之删除范围为 .01 到 .99 的所有 float

2025年05月04日20三少

我有一个简单的python程序

除法后,它显示最终值,但我不想显示 .01

from __future__ import division 
 
number = int(133) 
output = float(0) 
divideNumber = int(1) 
 
stop = false 
 
while stop == false 
   halfNumber = number / 2 
  output =  number / divideNumber  
  output = round(output, 2) 
 
  if ".0" in str(output): 
    if "0.1" in str(output) or "0.2" in str(output ) or.... "0.9" in str(output):  
      #Do Nothing 
  else:  
      #Do Nothing 
    else:  
      print str(number) + " / " + divideNumber + " = "str(output) 
 
  divideNumber += 1 
 
  if divideNumber < halfNumber: 
    break 
  else:  
    #Do Nothing 
print "Goodbye" 

如果我运行它,结果是这样的:

133 / 1 = 133.0 
133 / 7 = 19.0 
133 / 11 = 12.09 
133 / 12 = 11.08 
133 / 19 = 7.0 
133 / 22 = 6.05 
133 / 33 = 4.03 
133 / 43 = 3.09 
133 / 44 = 3.02 
133 / 64 = 2.08 
133 / 65 = 2.05 
133 / 66 = 2.02 

再见

我的预期结果是

 133 / 1 = 133.0 
 133 / 7 = 19.0 
 133 / 19 = 7.0 
 Goodbye 

我的“if”语句错了吗?我没有收到任何错误!

请您参考如下方法:

“我有一个简单的 python 程序”

这不是一个简单的程序。

如果你想用一位小数显示结果,使用这个:

print '{:.1f}'.format(133./19.) 

这打印

7.0 

如果你想测试一个整数是否能整除另一个:

if not x%y: 
    # y divides x