shell用while实现猜数字5次机会
时间: 2024-10-23 20:02:29 浏览: 15
在Shell脚本中,我们可以利用`while`循环来实现一个简单的猜数字游戏,允许用户有五次机会猜测一个随机生成的数(这里假设是5)。下面是一个基本的例子:
```bash
#!/bin/bash
# 设置藏好的数字(这里是5)
secret_number=5
attempts_left=5
# 循环进行猜数,直到尝试次数用完
while [ $attempts_left -gt 0 ]; do
echo "你还剩$attempts_left次机会猜数字。"
# 获取用户的输入并转换为整数
read -p "请输入你的猜测(1-5): " guess
# 检查输入是否有效
if ! [[ "$guess" =~ ^[1-5]$ ]]; then
echo "无效输入,请输入1到5之间的整数。"
attempts_left=$((attempts_left - 1))
continue
fi
# 比较猜测值和实际数字
if [ $guess -eq $secret_number ]; then
echo "恭喜,你猜对了!"
break
elif [ $guess < $secret_number ]; then
echo "你猜的数小了。"
else
echo "你猜的数大了。"
fi
attempts_left=$((attempts_left - 1))
done
# 如果所有机会都用完了还没猜对
if [ $attempts_left -eq 0 ]; then
echo "很遗憾,你没有猜对。秘密数字是$secret_number。"
fi
```
在这个脚本中,玩家有5次机会猜测,每次输入会被检查是否在指定范围内,然后根据猜测结果给出提示。如果玩家猜对了,游戏结束;如果5次都没猜对,会显示正确的数字。
阅读全文