第三節

數字的暫存

現在我們要處理上一節的家庭作業所忽略的問題,也就是如何檢查所輸入的答案是否 正確的問題。這個問題比我們所碰過的問題都要難處理,因為我們需要使用被產生的 亂數兩次: 第一次是在提出問題的時候,第二次是在我們要檢查輸入答案是否正確的時候。

重要的原則 :在寫程式時,假如有一樣東西會被用到兩次,就給這個東西取個名字。

我們已經在第一章討論過程式中「名字」的作用,現在我們再簡略的複習一次。

你幫「物件」取「名字」是用 =(等號)來表示,當一個物件已經有名字之後,在程式裡, 就可以用它的「名字」來取代它原來所代表的「物件」。(記得嗎?在這堂課裡面,你 可以用「東西」來取代「物件」。)

舉個例子:你有一隻黃色的狗,很乖,但很貪吃,你幫它取了個名字叫做「大毛」, 從此之後,只要說到這隻狗,你就可以用「大毛」來代表「一隻黃色的狗,很乖, 但很貪吃」。這是一個很重要的概念,「你家黃色的狗」是我們所說的「物件」, 這個物件的名字叫作「大毛」。現在,你只要先記得這個概念就好了,因為在這個課程中 我們要談的「東西」,要比「大毛」簡單的多。我們現在來看看一個例子:

>>> 東西 = 1234
>>> 5 * 東西
6170

挑戰

編寫一個程式,將一個由亂數所產生的數字連續印 5 遍。 (注意:不是要印5個不同的亂數!)提示:你應該給所產生出來的亂數取一個名字。

挑戰

把你在第二節課寫好的程式找出來,也就是那個會提出問題及要求回答的程式(也就是在 第二節課的挑戰)。找到後,你需要稍微修改一下原來的程式 – 將這個程式問題中的 兩個數字都各取一個名字。然後,讓你的程式能夠顯示相同的問題兩次,這樣你就可以 確定,新修改的程式是否正確無誤。你要注意檢查,兩字印出來的是都相同的問題,而 不是印出兩個不同的問題。在確定你的程式是正確的以後,就可以開始繼續下面挑戰。

繼續挑戰

修改、增加你的程式,讓你的程式可以做到下面的事:

  1. 產生兩個亂數,它們的範圍在1到10之間。
  2. (顯示)問兩個數字相乘,答案應該等於多少的問題。
  3. 電腦要求你輸入正確的答案。
  4. 在你輸入正確的答案後,電腦顯示正確的答案是什麼。

上面 1 到 3 步驟,用你剛才已寫好的程式就可以做到。對於這個繼續的挑戰,你所需 要做的只是增加最後一個步驟。當你編寫完你的程式後,要記得儲存起來 (因為以後還要用)。