写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个小于100的数字)一样时,直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。
答案
{{{密码回复可见}}}
答案
{{{密码回复可见}}}
0
- #!/bin/bash
- #写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个小于100的数字)一样时,
- #直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。
- num=`echo $((RANDOM%100+1))`
- while :
- do
- read -p "请输入一个1-100的数字": n
- n1=`echo $n |sed 's/[0-9]//g'`
- if [ -n "$n1" -o -z "$n" ]
- then
- echo "你输入错误,请重新输入"
- elif [ $n == $num ]
- then
- echo "恭喜你,猜对了"
- exit 11
- elif [ $n -gt $num ]
- then
- echo "你猜错了,你的数字是:$n 大于目标数"
- else [ $n -lt $num ]
- echo "你猜错了,你的数字是:$n 小于于目标数"
- fi
- fi
- done
0
陶小川 - less is more
- random_num=`declare -i num=100*$RANDOM/32767;echo $num`
- read -p "请输入你心中的那个数(1-100): " user_num
- while true;
- do
- if [[ user_num -eq random_num ]];then
- | echo -e "恭喜你,还是你最懂我的心\n"
- | break
- fi
- [[ user_num -gt random_num ]] && echo -e "你输入的数字比预设数字大\n" || echo -e ">你输入的数字比预设数字小\n"
- read -p "请输入你心中的那个数(1-100): " user_num
- done
0
预设数字(随机生成一个小于100的数字) 这个需求不会写
#!/bin/bash
a=`echo $RANDOM`
while :
do
read -p "please input a number: " n
if [ $a -eq $n ]
then
exit
elif [ $[$a0] -gt $n ]
then
echo "the number you input is smaller than default number"
continue
elif [ $[$a0] -lt $n ]
then
echo "the number you input is bigger than default number"
continue
fi
done
0
#!/bin/bash
#Auth: Cityzen Wang
#Script: Guess number
n=15
while :
do
read -p "please input a number: " m
a=`echo $m | sed 's/[0-9]//g'`
if [ -n "$a" ];then
echo "numbers only please"
else
if [ $m -eq $n ];then
echo "Correct"
continue
elif [ $m -lt $n ];then
echo "Input a larger one"
else
echo "Input a smaller one please"
fi
fi
done
echo "test"
这里的 echo 是配合 continue 使用,把 continue 编程 break,exit 测试一下,查看三者的区别。
编辑回复