Ruby和Shell腳本實現(xiàn)判斷成績及格功能
更新時間:2015年01月06日 09:24:50 投稿:junjie
這篇文章主要介紹了Ruby和Shell腳本實現(xiàn)判斷成績及格功能,使用Ruby實現(xiàn)這個功能非常簡潔優(yōu)雅,而Shell的實現(xiàn)就比較傳統(tǒng)了,需要的朋友可以參考下
需求為:從鍵盤輸入分數(shù),以此來判斷,0-59為不及格,打印“您沒有及格,請下次努力!”,60-79為及格,打印“您的成績及格,請更加努力!”,80-100為成績良,打印“您的成績?yōu)閮?yōu)秀,請再接再厲!”,如果輸入為0-100以外的分數(shù),請打印“您的成績?yōu)閮?yōu)秀,請再接再厲!”
如果采用ruby方式,代碼比較精簡,如下所示:
復制代碼 代碼如下:
#!/usr/bin/ruby
print "請輸入您的分數(shù): "
grade = gets.to_i
#grade = name.to_i
case grade
when 0..60
puts "您沒有及格,請下次努力!"
when 61..79
puts "您的成績及格了,請更加努力!"
when 80..100
puts "您的成績?yōu)閮?yōu)秀,請再接再厲!"
else
puts "您輸入的數(shù)值有誤,請輸入一個0-100之間的值!!"
end
SHELL中如果用if多支選擇的方法,代碼為:
復制代碼 代碼如下:
#!/bin/bash
read -p "Please input your score:" Score
if [ $Score -ge 0 -a $Score -le 59 ];then
echo "您沒有及格,請下次努力!"
elif [ $Score -ge 60 -a $Score -le 79 ];then
echo "您的成績及格,請更加努力!"
elif [ $Score -ge 80 -a $Score -le 100 ];then
echo "您的成績?yōu)閮?yōu)秀,請再接再厲!"
else
echo "您輸入的成績超出合理值,請重新輸入!"
fi
SHELL中如果用case的方法就比較麻煩了,代碼為:
復制代碼 代碼如下:
#!/bin/bash
read -p "請輸入你考試的分數(shù):" score
case "$score" in
[0-9])
echo "您沒有及格,請下次努力!"
;;
[1-5][0-9])
echo "您沒有及格,請下次努力!"
;;
[6-7][0-9])
echo "您的成績及格,請更加努力!"
;;
[8-9][0-9])
echo "您的成績?yōu)閮?yōu)秀,請再接再厲!"
;;
100)
echo "您的成績?yōu)閮?yōu)秀,請再接再厲!"
;;
*)
echo "您輸入的成績超出合理值,請重新輸入!"
;;
esac
相關(guān)文章
Ruby實現(xiàn)插入排序算法及進階的二路插入排序代碼示例
插入排序即是把已有的有序序列從后向前掃描插入元素,數(shù)值大的向后移動,這里我們就來看一下使用Ruby實現(xiàn)插入排序算法及進階的二路插入排序代碼示例2016-06-06
ruby元編程之method_missing的一個使用細節(jié)
這篇文章主要介紹了ruby元編程之method_missing的一個使用細節(jié),本文介紹在使用method_missing時造成死循環(huán)的一個現(xiàn)象,需要的朋友可以參考下2015-05-05

