需求為:從鍵盤輸入分數,以此來判斷,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,如需轉載請自行聯系原作者