首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python,将浮点数转换为整数

Python,将浮点数转换为整数
EN

Stack Overflow用户
提问于 2018-06-08 12:59:51
回答 1查看 64关注 0票数 1

好吧,我知道这个问题被问了很多次,但回答往往是特殊情况下的解决办法。我想你可以说,除了如何让它发挥作用之外,我还在努力理解为什么这不能奏效。

代码语言:javascript
运行
复制
# ---- Find Spring Rate ---- #
import math
import numpy as np
from pylab import plot, show, title, xlabel, ylabel, axis
import matplotlib as mpl
from matplotlib import pyplot as plt
'''
F = Load
D = mean dia of Coil
d = wire dia
Na = # of active coils
G = Shear Modulus 
'''
F = 30 #lbf   Assumed load 
D = 0.423 #in Measured 
d = 0.055 #in Measured
#N_a = 2.75 
G = 11.85*10**(6) #psi  # pg 526 Table 10-5 - Machine Theory Book
E = 29.0*10**(6) #psi   # pg 526 Table 10-5 - Machine Theory Book

X1 = []
Y1 = []

for N_a in range(1,6,0.025):
    y = (8*F*D**(3)*N_a)/(d**(4)*G) 
    k = (d**(4)*G)/(8*D**(3)*N_a)   
    K=(F//y)
    # print("N_a =", N_a)
    # print("y=", y)
    # print("k=", k)
    # print("K=", K)
    # print('\n')
    X1.append(N_a)
    Y1.append(k)

print("X1=", X1)
print("Y1=", Y1)

当我运行这段代码时,我得到以下信息

代码语言:javascript
运行
复制
Spring_Rate_Mk1.py", line 25, in <module>
    for N_a in range(1,6,0.025):
TypeError: 'float' object cannot be interpreted as an integer

我尝试过的:

  1. np.arange()这似乎是可行的,但它为X给出了这样的值

X1= 1.0,1.025,1.0499999999999998,1.0749999999999997,1.0999999999999996,1.1249999999999996,1.1499999999999995,1.1749999999999994,1.1999999999999993,1.2249999999999992,诸若此类

  1. 我尝试过N_a = int(N),也在我能想到的其他地方尝试了int (N)
  2. 我试着把这个部门从/改为//
  3. 把方程式分解成部分 A= (d**(4)*G) B=(8*D*(3)*N_a)k= A/B
EN

回答 1

Stack Overflow用户

发布于 2018-06-08 13:05:12

np.arange工作,您只需看到浮点的表示。

range不适用于浮点步骤,但在您的示例中,这很容易修复,因为起始点和结束点实际上都是整数。

如果没有arange,您可以使用整数范围并除以值,因为1/0.02540,所以只需将边界乘以40,然后再应用除法(在python 2的情况下使用40.0 )。

代码语言:javascript
运行
复制
for N_a in range(40,240):
    N_a /= 40.0
    print(N_a)

指纹:

代码语言:javascript
运行
复制
1.0
1.025
1.05
1.075
1.1
1.125
1.15
1.175
1.2
1.225
1.25
1.275
1.3
1.325
1.35

等等..。除以10的倍数和2的幂使结果没有表示错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50761205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档