帖子地址: http://www.apelearn.com/bbs/thread-7226-1-1.html
还不是很完美,因为没有判断,如果输入的数字不是1-10之间。大家补充一下吧。
还不是很完美,因为没有判断,如果输入的数字不是1-10之间。大家补充一下吧。
- #!/bin/bash
- n2=6
- while :
- do
- read -p "Please input a number(1-10): " n
- n1=`echo $n|sed 's/[0-9]//g'`
- if [ ! -z $n1 ]
- then
- tag=2
- echo "Just number."
- elif [ $n -gt 10 ] || [ $n -lt 1 ]
- then
- tag=1
- echo "The number must >1 and <10."
- else
- tag=0
- fi
- if [ $tag -ne 0 ]
- then
- c=0
- continue
- elif [ $n -ne $n2 ]
- then
- echo "Wrong."
- c=$[$c+1]
- if [ $c -eq 5 ]
- then
- echo "Wait 24 hours."
- exit 1
- else
- continue
- fi
- else
- echo "Right."
- exit 0
- fi
- done
0
本帖最后由 九月微寒 于 2015-6-29 23:49 编辑
- #!/bin/bash
- # liusheng @20150629
- num1=$(($RANDOM%10));
- for ((i=1;i<=5;i++))
- do
- read -p "猜数字,共五次机会,这是第 $i 次机会。请输入0-9的数字 ? " num
- n=`echo $num |sed 's/[0-9]//g'`
- if [ -z $n ];then
- [ "$num" == "$num1" ] && echo "你猜对了!" && exit
- else
- echo "你输入的是数字么?" && let i=$i-1 && continue
- fi
- done
- echo "24小时后来吧!"
0
- #!/bin/bash
- lucky=8
- c=0
- while :
- do
- read -p "Please input a number [0-9]: " num
- n1=`echo $num|sed 's/[0-9]//g'`
- if [ ! -z $n1 ]
- then
- continue
- elif [ -z $num ]
- then
- continue
- elif [ $num -gt 10 ]
- then
- continue
- else
- if [ $num -eq $lucky ]
- then
- echo "niu b,you win!"
- exit 0
- else
- c=$[$c+1]
- if [ $c -eq 5 ]
- then
- echo "Failed five times,please try again 24h later."
- exit 0
- fi
- fi
- fi
- done
0
本帖最后由 qq20847697 于 2015-6-30 21:59 编辑
终于写好了,24小时改成了5秒,感觉成功了:
终于写好了,24小时改成了5秒,感觉成功了:
- #!/bin/bash
- check_num(){
- a=`echo $1|sed 's/^[0-9]\{1\}//g'`
- if [ ! -z $1 ] && [ -z $a ]
- then
- return 0
- else
- return 1
- fi
- }
- echo_num(){
- stat=1
- while [ $stat == 1 ]
- do
- read -p"请输入一个范围在0-9的数字:" n
- check_num $n
- stat=`echo $?`
- done
- m=`echo $(($RANDOM%10))`
- }
- tag=0
- while :;do
- echo_num
- if [ $n -eq $m ]
- then
- echo " 你输入的数字是:$n,非常好,你猜对了!"
- break
- else
- tag=$[$tag+1]
- gat=$[5-$tag]
- if [ $tag -ge 5 ];then
- echo "你猜错了5次,请24小时后再试!"
- sleep 5
- tag=0
- else
- echo "你猜错了,你还有$gat次机会,请重新输入!"
- fi
- fi
- done
0
#! /bin/bash
sum=0
read -p "Please input a number: " n1
if [ -z `echo $n1|sed 's/[0-9]//'` ]
then
echo "you got it right"
else
while [ $sum -lt 5 ]
do
read -p "Your input is not a number, please input a number again: " n2
[ -z `echo $n2|sed 's/[0-9]//'` ] || sum=$[$sum+1]
done
echo "Please try again after 24 hours"
fi
sum=0
read -p "Please input a number: " n1
if [ -z `echo $n1|sed 's/[0-9]//'` ]
then
echo "you got it right"
else
while [ $sum -lt 5 ]
do
read -p "Your input is not a number, please input a number again: " n2
[ -z `echo $n2|sed 's/[0-9]//'` ] || sum=$[$sum+1]
done
echo "Please try again after 24 hours"
fi
0
#!/bin/bash
# auth: Cityzen Wang
function check() {
if [ $c -eq 5 ]
then
echo "Wait 24 hours."
exit 1
else
continue
fi
}
n2=6
c=0
while :
do
read -p "Please input a number(1-10): " n
n1=`echo $n|sed 's/[0-9]//g'`
if [ ! -z $n1 ]
then
tag=2
echo "Just number."
c=$[$c+1]
check
elif [ $n -gt 10 ] || [ $n -lt 1 ]
then
tag=1
c=$[$c+1]
check
echo "The number must great than 1 and less than 10."
else
tag=0
c=$[$c+1]
check
fi
if [ $tag -ne 0 ]
then
continue
elif [ $n -ne $n2 ]
then
echo "Wrong."
c=$[$c+1]
check
else
echo "Right."
exit 0
fi
done
编辑回复