gpt4 book ai didi

linux - Bash - 计算输入数字的平均值

转载 作者:可可西里 更新时间:2023-11-01 11:49:22 27 4
gpt4 key购买 nike

需要有关 Linux Bash 脚本的帮助。本质上,脚本在运行时会要求用户提供三组数字,然后计算输入的数字并求出平均值。

#!/bin/bash
echo "Enter a number: "
read a
while [ "$a" = $ ]; do

echo "Enter a second set of numbers: "
read b
b=$
if [ b=$ ]

我做错了吗?

最佳答案

仍然不确定您想要什么。但我认为你可以只循环 3 次。然后每次迭代都会得到一组数字,并将它们相加并跟踪你有多少。所以像下面这样的东西。 (注意 $numbers 和 $sum 自动初始化为 0)

#!/bin/bash    
sum=0
numbers=0
for a in {1..3}; do
read -p $'Enter a set of numbers:\n' b
for j in $b; do
[[ $j =~ ^[0-9]+$ ]] || { echo "$j is not a number" >&2 && exit 1; }
((numbers+=1)) && ((sum+=j))
done
done

((numbers==0)) && avg=0 || avg=$(echo "$sum / $numbers" | bc -l)
echo "Sum of inputs = $sum"
echo "Number of inputs = $numbers"
printf "Average input = %.2f\n" $avg

示例输出的位置

Enter a set of numbers: 
1 2 3
Enter a set of numbers:
1 2 3
Enter a set of numbers:
7
Sum of inputs = 19
Number of inputs = 7
Average input = 2.71

关于linux - Bash - 计算输入数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509541/

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