gpt4 book ai didi

python - 使用 zip 函数并使用 getcontext().prec =2 获取错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:58 25 4
gpt4 key购买 nike

我在尝试使用 getcontext().prec = 2 函数时遇到问题,试图获得只有 2 位小数的小数结果。我已经尝试了几种变体,但不知道为什么我不能在我的一个列表中将 float 转换为字符串。我是使用 Python (2.6) 的新手,还没有找到解决方案。在此先感谢您的帮助。

from __future__ import division
from decimal import *

getcontext().prec = 2

list_a = ['abc','def','ghi']
list_b = [123, 534, 345]
list_c = [Decimal(str(1/6)), Decimal(str(1/1234)), Decimal(str(2/9))]

for r,c,p in zip(list_a, list_b, list_c):
print '{0} goes with {1} and with {2}%.'.format(r,c,p)

返回

SyntaxError: Invalid syntax

如果我从打印行中删除 str() ,结果将被打印出来,但没有小数位数限制。如果我使用 Decimal() - 先不使用 str,我得到

'first convert the float to a string'. 

有什么见解吗?干杯

最佳答案

Decimal(str((2/9))

应该是

Decimal(str(2/9))

示例中显示的代码中有一个未闭合的)

只显示两位小数:

from __future__ import division
from decimal import *

getcontext().prec = 2

list_a = ['abc','def','ghi']
list_b = [123, 534, 345]
list_c = [Decimal(str(1/6)), Decimal(str(1/1234)), Decimal(str(2/9))]
for r,c,p in zip(list_a, list_b, list_c):
print '{0} goes with {1} and with {2:.2f}%.'.format(r,c,p)

关于python - 使用 zip 函数并使用 getcontext().prec =2 获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com