我有两个整数值a和b,但我需要他们的浮点比例.我知道a < b并且我想要计算a / b,所以如果我使用整数除法,我将总是得到0,余数为a.
我如何c在Python中强制成为Python中的浮点数?
c = a / b
Run Code Online (Sandbox Code Playgroud) 我正在创建一个程序,由于不需要解释的原因,需要将float转换为字符串以使用len()进行计数.但是,str(float(x))导致x在转换为字符串时被舍入,这会抛出整个事物.有谁知道它的修复?如果你想知道,这是使用的代码:
len(str(float(x)/3))
Run Code Online (Sandbox Code Playgroud) 如何在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)
这不是一个模数吗?
考虑:
>>> numerator = 29
>>> denom = 1009
>>> print str(float(numerator/denom))
0.0
Run Code Online (Sandbox Code Playgroud)
如何让它返回小数?
假设我有一个乘法表达式,有许多被乘数(小表达式)
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中有一个奇怪的问题:除法没有正确执行:
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)
谢谢
我正在尝试使用递归来计算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) 在下面的代码中,我想计算序列中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(2.7)中有两个非常大的数字,如下所示:
a = 332413405639482828453084501713288536462658058395850
b = 332413405639482828453084501713288536462658058395856
Run Code Online (Sandbox Code Playgroud)
我需要结果
a/b
Run Code Online (Sandbox Code Playgroud)
你可以看到两者之间存在非常微小的差异,所以我假设这个除法的结果不是0或1.我已经尝试过//如其他帖子中的建议但是仍然没有返回我想要的内容.有没有解决方案,或者在python或一般的大数字中无法做到这一点?
更新:顺便说一句,对不起,但我忘了提到即使从未来进口部门,我仍然没有得到我想要的.
谢谢
我最近将一个脚本从 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。
为什么是这样?
我知道如果我投射a和b作为,我可以让 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中打印一个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的新手,我必须创建一个打印用户输入字符串的中间字符的程序.这是我有的:
#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:字符串索引必须是整数".
我不知道如何解决这个问题或如何让这个程序工作.请帮忙!
出于某种原因,我的脚本将每个值打印为零,即使列表包含非零数字:
#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 ×12
division ×3
python-2.x ×3
python-3.x ×3
math ×2
python-2.7 ×2
rounding ×2
string ×2
evaluation ×1
exp ×1
integer ×1
numbers ×1
optimization ×1
python-3.3 ×1
recursion ×1