![](/img/trans.png)
[英]Check if a Python list has X number of consecutive values equal to Y
[英]Check if list has n consecutive values
我正在使用 Python 制作一个包含小数点的基本转换器。 如果连续看到四个或更多 0,我试图使浮点结果自行结束。 但是,我不知道该怎么做。 这是我到目前为止的一个片段:
import math
num = 0.25
base = 4
x = list()
b = 0
c = 0
d = 0
a = 0
if isinstance(num, float) == True:
x.append('.')
while num != 0 or d <= 100:
b = math.floor(num / (base ** a))
x.append(b)
num = num - (b * (base ** a))
d += 1
a -= 1
print(*x, sep="")
尽管此代码段的值是固定的,但如果我将num
更改为10.4
并将基数更改为10
,我将得到10.400000000000000333066907387546967...
(省略 200 位数字)。 我得到了大约 10-15 个正确的数字,但是在一系列零之后,出现了大量的“垃圾”数字。
如果我让num = 2.5
和base = 2
,那么我得到10.10000000000000000000000
,带有许多额外的尾随零。 在看到四个连续的 0 后,我需要清除这些额外的数字。 有没有办法做到这一点?
如果'num'
是导致问题的数字,则您所要做的就是:
#form the output of the given code, 'x' has the value in the form of a list
#converting the list to string:
num=""
for digit in x:
num+=str(digit)
y=float(num)
print (format(num, '.4f'))
这对我有用。 希望这对你有用...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.