Ruby和Shell腳本實現(xiàn)判斷成績及格功能
需求為:從鍵盤輸入分數(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中使用設(shè)計模式中的簡單工廠模式和工廠方法模式
這篇文章主要介紹了Ruby中使用設(shè)計模式中的簡單工廠模式和工廠方法模式的示例,這兩種模式經(jīng)常被用于Ruby on Rails開發(fā)的結(jié)構(gòu)設(shè)計中,需要的朋友可以參考下2016-03-03設(shè)計模式中的模板方法模式在Ruby中的應(yīng)用實例兩則
這篇文章主要介紹了設(shè)計模式中的模板方法模式在Ruby中的應(yīng)用實例兩則,經(jīng)典的項目經(jīng)理例子在這里又被套上用了^^需要的朋友可以參考下2016-03-03Ruby數(shù)組(Array)學(xué)習(xí)筆記
這篇文章主要介紹了Ruby數(shù)組(Array)學(xué)習(xí)筆記,本文講解了Ruby中數(shù)組的定義、數(shù)組元素的訪問、數(shù)組的操作、數(shù)組的運算等內(nèi)容,需要的朋友可以參考下2014-11-11Ruby實現(xiàn)插入排序算法及進階的二路插入排序代碼示例
插入排序即是把已有的有序序列從后向前掃描插入元素,數(shù)值大的向后移動,這里我們就來看一下使用Ruby實現(xiàn)插入排序算法及進階的二路插入排序代碼示例2016-06-06ruby元編程之method_missing的一個使用細節(jié)
這篇文章主要介紹了ruby元編程之method_missing的一個使用細節(jié),本文介紹在使用method_missing時造成死循環(huán)的一個現(xiàn)象,需要的朋友可以參考下2015-05-05