相关疑难解决方法(0)

我如何强制划分为浮点?分部继续向下舍入到0?

我有两个整数值ab,但我需要他们的浮点比例.我知道a < b并且我想要计算a / b,所以如果我使用整数除法,我将总是得到0,余数为a.

我如何c在Python中强制成为Python中的浮点数?

c = a / b
Run Code Online (Sandbox Code Playgroud)

python floating-point integer division python-2.x

703
推荐指数
9
解决办法
63万
查看次数

将float转换为字符串而不对其进行舍入

我正在创建一个程序,由于不需要解释的原因,需要将float转换为字符串以使用len()进行计数.但是,str(float(x))导致x在转换为字符串时被舍入,这会抛出整个事物.有谁知道它的修复?如果你想知道,这是使用的代码:

len(str(float(x)/3))
Run Code Online (Sandbox Code Playgroud)

python string floating-point rounding

83
推荐指数
2
解决办法
42万
查看次数

在Python 2.7中划分.和3.3

如何在Python 2.7中分割两个数字并获得带小数的结果?

我不明白为什么有区别:

在Python 3中:

>>> 20/15
1.3333333333333333
Run Code Online (Sandbox Code Playgroud)

在Python 2中:

>>> 20/15
1
Run Code Online (Sandbox Code Playgroud)

这不是一个模数吗?

python division python-2.7 python-3.3

62
推荐指数
4
解决办法
16万
查看次数

为什么这个部门在Python中不起作用?

考虑:

>>> numerator = 29
>>> denom = 1009
>>> print str(float(numerator/denom))
0.0
Run Code Online (Sandbox Code Playgroud)

如何让它返回小数?

python numbers

10
推荐指数
2
解决办法
2万
查看次数

如果找到零,python乘法表达式的计算速度会更快吗?

假设我有一个乘法表达式,有许多被乘数(小表达式)

expression = a*b*c*d*....*w   
Run Code Online (Sandbox Code Playgroud)

其中例如c是(x-1),d是(y**2-16),k是(x y-60)..... x,y是数字
,我知道c,d,k, j也许为零
我写这个表达式的顺序对于更快的评估很重要吗?
写c
d k j 更好 ....*w或python会评估所有表达式,无论我写的顺序如何?

python math optimization evaluation

8
推荐指数
3
解决办法
1036
查看次数

为什么这个部门没有正确执行?

我在Python中有一个奇怪的问题:除法没有正确执行:

print pointB[1]
print pointA[1]
print pointB[0]
print pointA[0]
print  (pointB[1]-pointA[1]) / (pointB[0]-pointA[0])
Run Code Online (Sandbox Code Playgroud)

这些是结果:

100
50
100
40
0
Run Code Online (Sandbox Code Playgroud)

谢谢

python division python-2.x

7
推荐指数
2
解决办法
5883
查看次数

使用Python中的递归计算exp(x)

我正在尝试使用递归来计算e ^ x,e ^ x = e ^(x/2)*e ^(x/2),并且e ^ x的三阶Maclaurin扩展和脚本保持返回1. I我不是在寻找更高精度的解决方案,只是想了解脚本出错的地方:)

我的想法是,当函数值低于限制时,如果有足够的迭代,它应该以(1 + x/N +(x/N)^ 2/2)^ N结束.

def exp(x):
      if abs(x)<0.0001:
            return 1+x+x**2/2
      else:
            y=exp(x/2)
            return y*y
Run Code Online (Sandbox Code Playgroud)

python math recursion exp

5
推荐指数
1
解决办法
547
查看次数

Python 3中的除法与Python 2中的结果不同

在下面的代码中,我想计算序列中G和C字符的百分比.在Python 3中我得到了正确的结果0.5,但在Python 2中我得到了0.为什么结果不同?

def gc_content(base_seq):
    """Return the percentage of G and C characters in base_seq"""
    seq = base_seq.upper()
    return (seq.count('G') + seq.count('C')) / len(seq)

gc_content('attacgcg')
Run Code Online (Sandbox Code Playgroud)

python python-2.x python-3.x

2
推荐指数
1
解决办法
867
查看次数

在python中划分两个非常大的数字会返回1

我知道之前已经问过这个问题,但解决方案对我来说似乎没有用.我在python(2.7)中有两个非常大的数字,如下所示:

a = 332413405639482828453084501713288536462658058395850
b = 332413405639482828453084501713288536462658058395856
Run Code Online (Sandbox Code Playgroud)

我需要结果

a/b
Run Code Online (Sandbox Code Playgroud)

你可以看到两者之间存在非常微小的差异,所以我假设这个除法的结果不是0或1.我已经尝试过//如其他帖子中的建议但是仍然没有返回我想要的内容.有没有解决方案,或者在python或一般的大数字中无法做到这一点?

更新:顺便说一句,对不起,但我忘了提到即使从未来进口部门,我仍然没有得到我想要的.

谢谢

python

2
推荐指数
1
解决办法
808
查看次数

为什么 Python 2.7 报告的上限值不正确?

我最近将一个脚本从 3.4 转换为使用 Python 2.7(应一位同事的要求),我发现 math.ceil 函数无法正常工作......

当我除以 5/2 并用 math.ceil() 取整时,我希望得到 math.ceil(5/2) = 3。

鉴于以下代码:

from __future__ import print_function
import math

a = 5
b = 2
c = math.ceil(a/b)

print("Ceiling output: {}".format(c))
Run Code Online (Sandbox Code Playgroud)

Python 2.7 将报告 2 作为答案,Python 3.4 按预期报告 3。

为什么是这样?

我知道如果我投射ab作为,我可以让 2.7 工作float

c = math.ceil(float(a)/float(b)
Run Code Online (Sandbox Code Playgroud)

但是,投射除法也不起作用:

c = math.ceil(float(a/b))
Run Code Online (Sandbox Code Playgroud)

3.4 如何解决这个问题?

发现这一点让我怀疑我需要在脚本的 2.7 版本中重新检查多少数学。

python rounding python-2.7 python-3.x

2
推荐指数
1
解决办法
745
查看次数

强制Python计算为double

我想在Python中打印一个double.但它不起作用,我不知道为什么.

我的代码:

test = 3000 / (1500 * 2000)
print str(test)
Run Code Online (Sandbox Code Playgroud)

如果我做以下事情,我总是得到一个0而不是一个0.001:

test = 3000 / (1500 * 2000)
print '%.10f' % test
Run Code Online (Sandbox Code Playgroud)

我得到了一个0.000000000而不是0.001.

我怎么告诉Python这应该是双倍的?

python

1
推荐指数
1
解决办法
6628
查看次数

Python中间字符串打印

我是python的新手,我必须创建一个打印用户输入字符串的中间字符的程序.这是我有的:

#accept string from user then print middle character

x = input("Enter a string: ")
print(x[len(x)/2-1])
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行该程序时,我不断收到此错误:

"TypeError:字符串索引必须是整数".

我不知道如何解决这个问题或如何让这个程序工作.请帮忙!

string python-3.x

0
推荐指数
1
解决办法
666
查看次数

脚本打印全零

出于某种原因,我的脚本将每个值打印为零,即使列表包含非零数字:

#this is the specific part of my script, A, T, G % C are 4 lists that consists from 10 indexes, each of which is a different number

 for i in range(min(len(A), len(G), len(C), len(T))):
    A1=A[i]*3/100
    C1=C[i]*3/100
    G1=G[i]*3/100
    T1=T[i]*3/100

    tA.append(A1)
    tC.append(C1)
    tG.append(G1)
    tT.append(T1)

    i=i+1

print "       A        C        T        G"
print "143   %d       %d       %d       %d" %(tA[0],tC[0],tT[0],tG[0])
print "144   %d       %d       %d       %d" %(tA[1],tC[1],tT[1],tG[1])
print "145   %d       %d       %d       %d" %(tA[2],tC[2],tT[2],tG[2])
print "146   %d       %d       %d       %d" %(tA[3],tC[3],tT[3],tG[3])
print …
Run Code Online (Sandbox Code Playgroud)

python

-3
推荐指数
1
解决办法
117
查看次数