5 回答

TA貢獻1829條經驗 獲得超7個贊
使用 bash 版本 4.0+,您可以使用大括號擴展和字符串操作來制定該浮點數:
for n in {000..165..5}; do echo python3 filename 1 "${n%??}.${n#?}" 0 done
${n%??}
從字符串末尾刪除 2 個字符,${n#?}
從字符串開頭刪除 1 個字符。

TA貢獻1784條經驗 獲得超7個贊
沒有太多模糊的最簡單方法是使用 sequence 命令seq。此命令允許您創(chuàng)建一個具有任意增量的數字序列:
seq FIRST INCREMENT LAST
對于 OP,有生成數字 0.00 0.05 0.10 ... 1.65 的請求,因此需要做的就是
for x in $(seq 0 0.05 1.65); do
python3 filename 1 "$x" 0
done

TA貢獻1875條經驗 獲得超3個贊
在內部執(zhí)行循環(huán)bc,使用 bash 格式化數字,使用以下方式調用腳本xargs:
LC_NUMERIC=C printf '%0.2f\n' \
$(<<<'scale=2;i=0;while(i<=1.65){i;i+=.05}' bc) |
xargs -l -I{} python3 filename 1 {} 0

TA貢獻1864條經驗 獲得超2個贊
bash不做浮點運算。使用外部命令,如bc.
for ((t=0; t <= 165; t=t+5));
do python3 filename 1 "$(echo "scale=2; $t / 100" | bc)" 0
done
添加回答
舉報