【发布时间】:2021-06-07 17:18:45
【问题描述】:
在我的代码中,我希望每次都将变量“liczba”哈希为 str,但在我的代码中,它仅在第一次时才算作 str。每个下一个循环它都被散列为浮点数。此外,变量“liczba”应该通过在每个循环中添加 0.0000000000000000000000000000000000000000000001 来改变。我尝试使用
liczba = str(obecna_liczba)
但它不起作用我知道为什么。有什么建议吗?
import hashlib
obecna_liczba = 0.0000000000000000000000000000000000000000000001
koncowa_liczba = 0.0000000000000000000000000000000000000000000010
liczba = '0.0000000000000000000000000000000000000000000001'
filepath = "X:\hashe.txt"
f = open(filepath, "w")
while(obecna_liczba < koncowa_liczba):
hash = hashlib.sha256(str(liczba).encode('utf-8'))
f.write(hash.hexdigest())
f.write("\n")
obecna_liczba += 0.0000000000000000000000000000000000000000000001
print(type(obecna_liczba))
liczba = str(obecna_liczba)
print(type(liczba))
f.close()
【问题讨论】:
-
您不能将这么小的数字添加到浮点数中。您需要一个
Decimal对象来实现该精度。 -
那么你在这里做什么呢?为什么需要这样做?
-
我该怎么做?
标签: python string variables hash hashlib