bash:除零错误,除零只显示整数答案

2024-04-20 09:50:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为类编写一个简单的bash计算器,并且几乎完成了它,但是我遇到了两个问题:

  • 我使用if/then参数来处理被零除的错误。我继续从脚本的这一部分得到一个错误

  • 我使用python返回非整数,它适用于除除法以外的所有操作。我不知道为什么这个特定的操作不起作用。

我看了它在屏幕顶部给我的所有帖子,我也用谷歌搜索了一下网址:stackoverflow.com有很多标签,但没有找到任何能解决这些问题的方法。如果我在错误的论坛或它已经得到答复-这是我第一次使用该网站-所以我提前道歉。你知道吗

任何见解都会很有帮助。提前谢谢!你知道吗

以下是部分:

问题1:如果命令返回一个错误,我将如何进行修复,以便在被零除时它选择退出?你知道吗

if [ $n3 -eq 4 $$ $n2 -eq 0 ]
    then
        echo "Oops, cannot divide by zero. Your answer is undefined."

如果

第一个问题结束。你知道吗

问题2:下面的公式不输出非整数(例如,1除以3表示0,我希望它表示0.333或类似值),为什么?你知道吗

    4) 
    quotient=$(python -c "print $n1/$n2")
        echo "The quotient of $n1 and $n2 is $quotient"
            ;;

问题区域2结束。你知道吗

*)          
        echo "Invalid Option. Pick a number between 1-4 for your operator."
            ;;

以撒


Tags: echo脚本bash参数if屏幕is错误
1条回答
网友
1楼 · 发布于 2024-04-20 09:50:52

对于您的条件,您使用了[ $n3 -eq 4 $$ $n2 -eq 0 ],您可能希望$$&&。您可以执行以下操作之一:

[ "$n3" -eq 4 ] && [ "$n2" -eq 0 ] # POSIX 
[[ $n3 -eq 4 && $n2 -eq 0 ]]       # Bash specific

关于您的另一个问题,请参见Why does Python return 0 for simple division calculation?。你可以做:

n1=1 n2=4
quotient=$(python -c "print $n1.0/$n2")  # Becomes "print 1.0/4"
echo "$quotient"                         # Shows 0.25

相关问题 更多 >