猜数字shell脚本

回复 收藏
写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个小于100的数字)一样时,直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。


答案
{{{密码回复可见}}}


2015-08-07 09:55 1 条评论 举报
已邀请:
0

SunyBome

赞同来自:

学习
0

xueyongbo

赞同来自:

芝麻开门
0

wangdi244

赞同来自:

  1. #!/usr/bin/env python
  2. # coding=utf-8
  3. import random
  4. import sys
  5. while True:
  6.     input = int(raw_input('请输入一个小于100的整数:').strip())
  7.     num = random.randint(0,100)
  8.     if input == num :
  9.         sys.exit()
  10.     if input > num :
  11.         print '用户的数字比预设的数字大'
  12.     if input < num :
  13.         print '用户的数字比预设的数字小'
0

summer123

赞同来自:

学习
0

googleqicq

赞同来自:

学习
0

第六感

赞同来自:

{:4_109:}
0

Linuxpp

赞同来自:

学习下
0

nihao426181

赞同来自:

^^^^^^^^^^^^^^^^^
0

乐橙306

赞同来自:

RE: 猜数字shell脚本 [修改]
0

lucas1202

赞同来自:

本帖最后由 lucas1202 于 2015-8-25 15:11 编辑

#!/bin/bash

m=`echo $(($RANDOM%100))`
echo $m

while :
do
   read -p "please input a number:" n
    n1=`echo $n|sed 's/[0-9]//g'`
   if [ ! -z $n1 ]
   then
        echo "请输入数字"
   elif [ $n -eq $m ]
   then
        echo "恭喜你,猜对了"
        exit 0
   elif [ $n -lt $m ]
   then
        echo "您猜的数字比较小"
        continue
   else [ $n -gt $m ]
        echo "你猜的数字比较大"
        continue
   fi
done

0

Armani

赞同来自:

while :
do
read -t 10 -p  "Please  input  a number:"  n
declare -i aa=`echo $RANDOM | awk -F "" '{print $2 $3}'`
   if [ "$n"  == "$aa" ];then
      exit
   elif [ "$n"  -gt  "$aa" ];then
     echo "Bigger than the number system set."
     echo $aa
   else
    echo "Smaller than the number system set."
     echo $aa
   fi
done
0

放牛

赞同来自:

学习
0

八期—窦晓刚

赞同来自:

这个简单
0

tjlygdx

赞同来自:

学习shell
0

哈哈琨少

赞同来自:

学习学习
0

渐行渐远

赞同来自:

学习
0

cxiaodian

赞同来自:

good
0

siudern

赞同来自:

1
0

wzwyql

赞同来自:

学习
0

hhaa0352

赞同来自:

学习
0

ifconfig2

赞同来自:

1
0

北辰星

赞同来自:

学习
0

robert

赞同来自:

lala
0

追风者

赞同来自:

1
0

小指头

赞同来自:

学习
0

lky

赞同来自:

来学习
0

Shawn

赞同来自:

思路有了,就是不知道怎么生成随机数,我先看看哈
0

demon_l

赞同来自:

#!/bin//bash
n=$RANDOM
read -p "please guess the num: " num
m=0
while [ $m -eq 0 ]
do
    if [ $num -eq $n ];then
        echo "you are right"
        m=1
    elif [ $num -lt $n ];then
        read -p  "too small, please input again: " num
        m=0
    else
        read -p  "too big, please input again: " num
        m=0
    fi
done
0

qiaoxin360

赞同来自:

学习
0

不怕不怕

赞同来自:

学习一下!
0

Rohero

赞同来自:

#!/bin/bash
0

Rohero

赞同来自:

#!/bin/bash
0

石头

赞同来自:

= 。-
0

Edison

赞同来自:

看一看
0

yanggang

赞同来自:

哈哈
0

krven

赞同来自:

1
0

Burgess

赞同来自:

学习学习
0

方琪

赞同来自:

本帖最后由 方琪 于 2015-11-28 23:53 编辑

哈哈 鼓捣了半天才鼓捣出来

#!bin/bash
function rand()
{
min=$1
max=$[$2-$1]
retnum=$[RANDOM%max+$1]
echo "$retnum"

}
a=1
b=100
num=$(rand $a $b)
echo $num
while :
do
read -p "please input a number which less than 100:" n
k=$[$n-$num]
#echo $k
case "$k" in
[k==0])
  echo "Congratulations! you guess it"
  echo $num
  exit
  ;;

*)
  if [ $k -gt 0 ]
  then
   echo "the number you input is too big "
else
   echo "the number you input is too small"
fi
esac
done

0

ldp840611

赞同来自:

看目的地
0

yangjian319

赞同来自:

学习了。
0

fansze

赞同来自:

{:4_99:}
0

pbw19950507

赞同来自:

学习
0

rolay8

赞同来自:


  1. #!/bin/bash

  2. num=$[$RANDOM%100]

  3. while :
  4.     do
  5.     read -p "请输入一个100内的数字:" n
  6.     n1=`echo -n $n|sed 's/[^0-9]//g'`
  7.     if [[ -z $n1 ]];then
  8.         echo "你输入的不是一个有效的数字"
  9.         continue
  10.     elif [[ $n1 -gt $num ]]; then
  11.         echo "你输入的数字大了"
  12.         continue
  13.     elif [[ $n1 -lt $num ]]; then
  14.         echo "你输入的数字小了"
  15.         continue
  16.     elif [[ $n1 -eq $num ]]; then
  17.         echo "恭喜你,猜对了!"
  18.         exit
  19.     fi
  20. done
0

weifeng1463

赞同来自:

ok
0

369666951

赞同来自:

看看
0

maria

赞同来自:

本帖最后由 maria 于 2015-12-28 21:55 编辑
  1. #!/bin/bash
  2. i=0
  3. ran=1
  4. while (($i != $ran))
  5. do
  6.    read -p '请输入一个小于100的整数:' i;
  7.    ran=$(($RANDOM % 100))
  8.    if (($i < $ran))
  9.       then echo '你输入的数比随机数小:'$i'小于'$ran;
  10.    else if (($i > $ran))
  11.       then echo '你输入的数比随机数大:'$i'大于'$ran;
  12.    else echo '你输入的数和随机数相同:'$i'等于'$ran;
  13.    fi
  14.    fi
  15. done



QQ图片20151228215205.png



0

重庆-刘鹏

赞同来自:

猜数字shell脚本
0

loveyouhyf

赞同来自:

方琪 发表于 2015-11-28 23:16
哈哈 鼓捣了半天才鼓捣出来

#!bin/bash

你这是自己写了一个随机函数再引用它,系统中自带$RANDOM函数,用于随机生成一个不大于5位数的,可用这个试试
0

andreking

赞同来自:

学习下
0

hlymlv

赞同来自:

本帖最后由 hlymlv 于 2016-1-7 21:32 编辑

学习了
#!/bin/bash
m=$(($RANDOM%100+1))
read -p "please enter a number:" n
while : ;do
if [ $n -lt $m ];then
echo "little"
elif [ $n -gt $m ];then
echo "more"
else
echo "bingo"
exit
fi
read -p "please enter a number:" n
done

0

prospect

赞同来自:

#! /bin/bash
while true
do
Ss=`awk 'BEGIN{srand();print rand()*100}' |awk -F '.' '{print $1}'`
    read -p "Pls  a number:"
    if [[ ${Ss} -gt $1 ]];then
        echo "The number is small."
    elif [[ ${Ss} -lt $1 ]];then
        echo "The number is big."
    else
      echo "Congratulations, guess"
    break
    fi
done
0

xteplinux

赞同来自:

{:4_91:}
0

415222090

赞同来自:

#!/bin/bash
random=$((RANDOM%100))
echo 'random number:' $random
read -p "please enter a number:" n
while :
do
    pd=`echo $n|sed 's/[0-9]//g'`
    if [ -n "$n" ] && [  -z "$pd" ]                 #数字全部被替换为空
     then
           if [ $n -gt $random ]
               then
                  echo 'your number:'  $n ' bigger'
          elif [  $n -lt $random ]
               then
                 echo 'your number:'  $n ' smaller'  
          elif [  $n -eq $random ]
              then
                 echo 'your number:'  $n ' equal'  
                 break
           fi      
    fi
           read -p "please try again:" n
done
0

licengceng

赞同来自:

学习
0

宇浩

赞同来自:

让我看看
0

t0ny1988

赞同来自:

#!/bin/bash
num=$(($RANDOM%100))
while :
do
read -p "请输入你要猜的数字0-100: " n
if [ -z $n ]
then
   echo "你需要输入一个数字"
   continue
fi

n1=`echo $n |sed 's/[0-9]//g'`

if [ ! -z $n1 ]
then
   echo "只能输入数字"
   continue
elif [[ $n -lt $num ]]
then
   echo "你输入的数字小了"
   continue
elif [[ $n -gt $num ]]
then
   echo "你输入的数字大了"
   continue
elif [[ $n -eq $num ]]
then
  echo "你猜对了"
  exit 0
fi
done
0

老咸菜

赞同来自:

最近在学脚本。
0

lin19890913

赞同来自:

看看
0

初秋飞马

赞同来自:

  1. #!/bin/bash
  2. # 2016-01-28 12:21:23
  3. # Guess number
  4. result=$[$RANDOM%100]
  5. while :
  6. do
  7.     read -p "input a number:" number
  8.     if [ $number -eq $result ]
  9.     then
  10.         echo "You guess the right number"
  11.         exit
  12.     elif [ $number -gt $result ]
  13.     then
  14.         echo "You input number is bigger than the guess number"
  15.     elif [ $number -lt $result ]
  16.     then
  17.         echo "You input number is smaller than the guess number"
  18.     fi
  19. done
0

KICAZ629

赞同来自:

学习
0

KICAZ629

赞同来自:

学习
0

落涧飞鹰

赞同来自:

看看
0

王sir

赞同来自:

xuexi
0

krven

赞同来自:

m=`echo $RANDOM`
while :;
do
read -p "Please input a number: " n
s=`echo $n |sed -r 's/[0-9]//g'`
if [ ! -z $s ]
then
        echo -n "$n not number"
        break
else
if [ $n -gt $m ]
then
        echo -n " $n gt number "
elif [ $n -lt $m ]
then
        echo -n "$n lt number"
else
        echo -n " $n == number"
        break
fi
fi
echo
done
0

riluozhiyue

赞同来自:

学习
0

木头爱木头媳妇

赞同来自:

1
0

ginzyx

赞同来自:

学习中…^^
0

xy751625718

赞同来自:

  1. #!/bin/bash
  2. m=$(($RANDOM%100))
  3. while :
  4. do
  5. read -p "请输入0-100的数字: " n
  6. if [ $n -lt $m ]
  7. then
  8.    echo "你输入的数字小了"
  9.    continue
  10. elif [ $n -gt $m ]
  11. then
  12.    echo "你输入的数字大了"
  13.    continue
  14. else
  15.   echo "猜中!"
  16. fi
  17. done
  18. exit
0

蔡炳森

赞同来自:

#!/bin/bash
num=$[$RANDOM%99+1]
echo $num
while :
do
read -p "请输入一个1到100的数字" x
if [ $x -eq $num ]
then
   exit
elif [ $x -gt $num ]
then
    echo "数值大于系统预设的数值,请重新输入:"
else
    echo "数值小于系统预设的数值,请重新输入:"
fi
done
0

木树

赞同来自:

学习
0

zyos

赞同来自:

  1. #!/bin/bash

  2. ##
  3. ##
  4. number=56
  5. read -t30 -p "please input a number: " num

  6. while [ $num -ne $number ]
  7.    do
  8.       if [ $num -lt $number ];then
  9.          echo "the number less than system number!"
  10.            read -t30 -p " Enter again: " num
  11.       else
  12.          echo "The number greater than system number!"
  13.           read -t30 -p " Entrer again: " num
  14.       fi
  15.   done
  16. echo "The number you entered is the same as the system"
0

wangzai

赞同来自:

学习
0

linux-小莫

赞同来自:

学习
0

jinm

赞同来自:

学习
0

qiqige

赞同来自:

。。

0

keluo

赞同来自:

m=`echo $(($RANDOM%100))`
while :
do
  read -p "请输入100以内的数:" n

  if [$n -eq $m]
  then
    echo "输入正确"
    exit 0
  elif [ $n -lt $m ]
   then
        echo "你猜的数字比较小"
        continue
   else [ $n -gt $m ]
        echo "你猜的数字比较大"
        continue
   fi
done
0

duyanbin

赞同来自:

学习了
0

qq895933723

赞同来自:

看看
0

xlycamel

赞同来自:

学习
0

a57601247

赞同来自:

学习了
0

ggangelo

赞同来自:

#!/bin/bash
b=1
a=0
while [ $a -ne $b ]
do
read -p "please input your words: " a
   while [ -z $a ]
     do
      read -p "please retry it:" a
     done
b=`shuf -i 1-100 -n1`
  if [ $a -gt $b ]
    then
      echo "$a > $b"
    else
      echo "$a < $b"
  fi
done
0

yonself

赞同来自:

学习
0

小璇Linux

赞同来自:

学习
0

tytywu

赞同来自:

学习学习
0

福气温暖

赞同来自:

学习
0

xiaoweili

赞同来自:

get 到了
0

zhangdailu

赞同来自:

cat
0

vb3328998

赞同来自:

学习
0

shoswj001

赞同来自:

learning
0

自己定义

赞同来自:

学习学习
0

13720660620

赞同来自:

学习。
0

自己定义

赞同来自:

  1. #!/usr/bin/env python
  2. a=`echo $RANDOM | cut -c 1,2`
  3. #echo $a
  4. while :; do
  5. read -p "please input a number: " x
  6. if [ $x == $a ];then
  7.         echo "you are right"
  8.         break
  9. elif [ $x -gt $a ];then
  10.         echo "The number what you input is bigger "
  11.         continue
  12. elif [ $x -lt $a ];then
  13.         echo "The number what you input is smaller"
  14.         continue
  15. fi
  16. done


0

branttsai

赞同来自:

study,tks
0

clq56688

赞同来自:

1
0

xzzlamp

赞同来自:

11
0

17095053557

赞同来自:

随机数
0

monga

赞同来自:

学习
0

kevinjin

赞同来自:

看看
0

幻夜猫儿

赞同来自:

  1. #!/bin/bash
  2. m=`echo $(($RANDOM%100))`
  3. echo $m
  4. while :
  5. do
  6.   read -p "Please input a number:" n
  7.   n1=`echo $n|sed 's/[0-9]//g'`
  8.   if [ -n "$n1" ]
  9.   then
  10.       echo "The input is not a number."
  11.   elif [ $n -lt $m ]
  12.   then
  13.      echo "The input is small"
  14.       continue
  15.   elif [ $n -gt $m ]
  16.   then
  17.      echo "The number is large"
  18.      continue
  19.   else [ $n -eq $m ]
  20.      echo "The input is right"
  21.      exit 0
  22.   fi
  23. done      
0

标哥

赞同来自:

本帖最后由 标哥 于 2016-8-30 16:49 编辑
  1. #! /bin/bash
  2. # cai shu zi  games.
  3. truenumber=$[ RANDOM % 100 ]
  4. while :
  5. do
  6.   read -p "please input a number: " number
  7.   if [ $number != $truenumber ]
  8.   then
  9.      echo "false,please try again."
  10.      if [ $number -gt $truenumber ]
  11.      then
  12.          echo "bigger"
  13.          continue
  14.      else
  15.          echo "smaller"
  16.          continue
  17.      fi
  18.   else
  19.       echo " ok ,you are right."
  20.       exit 0
  21.   fi
  22. done


回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: