bash - 如何在随机数猜测游戏中将猜测次数限制为 3
问题描述
#!/bin/bash
echo "Pick a number between 1 and 10"
read ANS
echo "You guessed $ANS"
VALUE=$[( $RANDOM % 10 ) +1]
if [ "$VALUE" -eq "$ANS" ]; then
echo "You win!"
elif [ "$VALUE" -gt "$ANS" ]; then
echo "Higher!"
elif [ "$VALUE" -lt "$ANS" ]; then
echo "Lower!"
fi
解决方案
尝试这个:
#! /bin/bash
MAXTRIES=3
VALUE=$[( $RANDOM % 10 ) +1]
for (( i=1 ; i <= $MAXTRIES ; i++ )) ; do
read -p "Pick a number between 1 and 10 " ANS
echo "You guessed $ANS"
if [ "$VALUE" -eq "$ANS" ]; then
echo "You win!"
break
fi
if [ $i -ge $MAXTRIES ] ; then
echo "You have exceeded $MAXTRIES tries!"
break
elif [ "$VALUE" -gt "$ANS" ]; then
echo "Higher!"
elif [ "$VALUE" -lt "$ANS" ]; then
echo "Lower!"
fi
done
推荐阅读
- c# - 如何单独拖动 SelectedItem 附近的列表框项
- c# - 从 C# 库触发事件到 VB Winform 程序
- mesos - chronos 不是集中式调度程序吗?
- javascript - 设置为 null 后标题仍然显示
- git-checkout - 在 git mv 之后,未跟踪的工作树文件上的 Git 签出失败
- r - 在这种情况下应该避免附加吗?
- java - 生成的 XML 上没有出现前缀
- vba - 从网站提取数据到excel错误
- php - PHP:Google Analytics API pagePath 过滤器不起作用,获取所有流量而不仅仅是路径
- mysql - ServiceStack.OrmLite:实现自定义 StringConverter 会影响复杂 BLOB 字段的列类型