天天看點

Ruby中寫一個判斷成績分類的腳本

需求為:從鍵盤輸入分數,以此來判斷,0-59為不及格,列印“您沒有及格,請下次努力!”,60-79為及格,列印“您的成績及格,請更加努力!”,80-100為成績良,列印“您的成績為優秀,請再接再厲!”,如果輸入為0-100以外的分數,請列印“您的成績為優秀,請再接再厲!”

如果采用ruby方式,代碼比較精簡,如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<code>#!/usr/bin/ruby</code>

<code>print </code><code>"請輸入您的分數: "</code>

<code>grade = gets.to_i</code>

<code>#grade = name.to_i</code>

<code>case</code> <code>grade</code>

<code> </code><code>when 0..60</code>

<code>  </code><code>puts </code><code>"您沒有及格,請下次努力!"</code>

<code> </code><code>when 61..79</code>

<code> </code><code>puts </code><code>"您的成績及格了,請更加努力!"</code> 

<code> </code><code>when 80..100</code>

<code> </code><code>puts </code><code>"您的成績為優秀,請再接再厲!"</code>

<code> </code><code>else</code> 

<code>  </code><code>puts </code><code>"您輸入的數值有誤,請輸入一個0-100之間的值!!"</code>

<code> </code><code>end</code>

SHELL中如果用if多支選擇的方法,代碼為:

<code>#!/bin/bash</code>

<code>read</code> <code>-p </code><code>"Please input your score:"</code> <code>Score</code>

<code>if</code> <code>[ $Score -</code><code>ge</code> <code>0 -a $Score -</code><code>le</code> <code>59 ];</code><code>then</code> 

<code>    </code><code>echo</code> <code>"您沒有及格,請下次努力!"</code>

<code>elif</code> <code>[ $Score -</code><code>ge</code> <code>60 -a $Score -</code><code>le</code> <code>79 ];</code><code>then</code> 

<code>    </code><code>echo</code> <code>"您的成績及格,請更加努力!"</code>

<code>elif</code> <code>[ $Score -</code><code>ge</code> <code>80 -a $Score -</code><code>le</code> <code>100 ];</code><code>then</code>

<code>    </code><code>echo</code> <code>"您的成績為優秀,請再接再厲!"</code>

<code>else</code>

<code>    </code><code>echo</code> <code>"您輸入的成績超出合理值,請重新輸入!"</code>

<code>fi</code>

SHELL中如果用case的方法就比較麻煩了,代碼為:

15

16

17

18

19

20

21

22

<code>read</code> <code>-p </code><code>"請輸入你考試的分數:"</code> <code>score</code>

<code>case</code> <code>"$score"</code> <code>in</code>

<code>[0-9])</code>

<code>;;</code>

<code>[1-5][0-9])</code>

<code>     </code><code>echo</code> <code>"您沒有及格,請下次努力!"</code>

<code> </code><code>;;</code>

<code>[6-7][0-9])</code>

<code>     </code><code>echo</code> <code>"您的成績及格,請更加努力!"</code>

<code>[8-9][0-9])</code>

<code>     </code><code>echo</code> <code>"您的成績為優秀,請再接再厲!"</code>

<code>100)</code>

<code>*)</code>

<code>     </code><code>echo</code> <code>"您輸入的成績超出合理值,請重新輸入!"</code>

<code>esac</code>

<code></code>

本文轉自 撫琴煮酒 51CTO部落格,原文連結:http://blog.51cto.com/yuhongchun/1588063,如需轉載請自行聯系原作者