shell小技巧(十五)模拟抓阄

要求:
1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,数字越大机会越大,前面已经抓到的数字,下次不能在出现相同数字。
2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别的学生输入,抓完输入exit退出。
3、倒序输出
方法1:

#!/bin/bash

>chioce.txt

e="exit"

x=""

while [ $e == "exit" ]; do

   read -p "please input youname :" x

   grep "$x" chioce.txt 

   if [ $? -eq 0 ]; then

      echo "$x already in namelist,can't input again!"

      continue;

   fi

   if [ $x == $e ]; then

      echo "game over!"

      e=""

      break;

   fi

   f=1

   while [ $f -eq 1 ]; do 

     y=$[RANDOM%99+1]

     grep "$y" chioce.txt

     if [ $? -gt 0 ];then

       f=0

       break;

     fi

   done

     echo $y" "$x >> chioce.txt

     y=0

     x=""

     echo "next input!"

done

sort -nr chioce.txt


方法2:

#!/usr/bin/bash

declare -A arr

 

while true

do

    [ "$Name" = "quit" ] && break

 

    read -p "Please input you name: " Name

    while true 

    do

      Num=`echo $(($RANDOM%99+1))` 

  if [[ $Num =~ ${arr[*]} ]];then

          continue

      else

          arr[$Name]=$Num

          echo "$Name" "$Num"

          break

      fi

    done

done

for j in ${!arr[*]}

do

  echo $j " " ${arr[$j]} >> zhuajiu.txt

done

  sort -nr -k2 zhuajiu.txt|head -4 |column -t
总结:
方法1重点是如果重复的名称不会让再次输入一人一次机会,启动前情况目标文件,以确保只保存本次结果。
方法2(来自互联网的代码)保证一人一次的方法是如果重复输入,那么第二次输入会覆盖第一次,略有不公平。

随机抽签与自动计时工具是一款专业的解决组织项目评审、答辩和竞赛等活动时抽签与自动计时问题的软件。 软件可以实现自定义定时时间和提醒时间,以“秒”为最小计时单位。支持预置三个定时时间:定时一、定时二和定时三,方便用户根据需要在三个预置好的定时时间之间进行动态切换。 为了保证顺序安排的公平性,软件还有随机抽签功能,并且有三种抽签方式:随机抽取顺序号、按名单随机抽签和PPT图文随机抽签,抽签不会重复;软件在启动计时后会隐藏计时界面,程序在后台运行计时结束时时主界面可自动弹出;本软件操作简单、功能齐全,适合需要进行定时控制、定时提醒的大型会议、答辩和竞赛等场合使用。 随机抽签与自动计时工具的安装   把下载好的安装包解压到当前文件夹,之后双击Setup.exe运行文件进行安装,打开的时候会出现安装框,依次开始安装,依照步骤点击下一步,并选择同意协议和软件安装位置即可。最后点击完成按钮,随机抽签与自动计时工具的安装过程就完成了。 随机抽签与自动计时工具的使用   安装完成后,点击随机抽签与自动计时工具快捷方式即可进入随机抽签与自动计时工具软件,如图所示,这是软件的主界面,输入定时时间和提醒时间点击开始按钮即可开始计时;点击抽签按钮,进入抽签界面。     如图所示,这是抽签界面,可按自己所需选三种抽签方式:随机抽取顺序号、按名单随机抽签和PPT图文随机抽签中的一种。     如图所示,这是随机抽取顺序号方式截图。     如图所示,这是按名单随机抽签方式截图。其他的功能就有小伙伴们自己去尝试吧。 随机抽签与自动计时工具的卸载   依次选择开始-> 所有程序 ->随机抽签与自动计时工具 ->卸载随机抽签与自动计时工具。 或者依次打开我的电脑->卸载或更改程序->卸载你所卸载的软件,您可以用 Window XP控制面板中的添加或删除程序功能,或用 Windows Vista、Windows 7中的程序和功能删除随机抽签与自动计时工具, 然后点击开始卸载,按步骤依次点击下一步,直至完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值