gpt4 book ai didi

python - Bash:使用 Python 函数 Ceil - 如何计算两个变量的乘积的 ceil?

转载 作者:行者123 更新时间:2023-12-01 06:00:55 24 4
gpt4 key购买 nike

我尝试运行以下代码,该代码位于 Bash 脚本内。

NUMBER=600
LOSS_RATE=0,3
TOT_PKT=100

test=$(python -c "from math import ceil; print ceil($NUMBER * 500.0)")
test2=$(python -c "from math import ceil; print ceil($NUMBER * $LOSS_RATE)")
echo $test
echo $test2

我打印出以下内容:

Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: ceil() takes exactly one argument (2 given)
300000.0

第一个 Python 命令被执行,但第二个命令导致给定的 TypeError。我该如何解决这个问题?

最佳答案

Python 使用 . 作为小数点,因为 , 是参数分隔符。因此,如果您使用 LOSS_RATE=0.3 一切都应该正常工作:

> NUMBER=600
> LOSS_RATE=0.3
> python -c "from math import ceil; print ceil($NUMBER * $LOSS_RATE)"
180.0

问题出在shell脚本上。 echo 而不是 python -c 代码,您将看到它:

> echo "from math import ceil; print ceil($NUMBER * $LOSS_RATE)"
from math import ceil; print ceil(600 * )

您从未定义 LOSS_RATE。但是,这会导致语法错误。由于您收到不同的错误,听起来 LOSS_RATE 设置为包含逗号的内容。

关于python - Bash:使用 Python 函数 Ceil - 如何计算两个变量的乘积的 ceil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515773/

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