讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 第5章 >

第5章

測試題

1. 對於這行代碼:

answer = raw_input  

如果用戶鍵入 12answer 會包含一個字符串。這是因為 raw_input 總是會得到一個字符串。

在一個小程序裡試試看:

print "enter a number: ",answer = raw_inputprint type(answer)>>> ============== RESTART ==============>>>enter a number: 12<type 'str'>>>>  

所以 raw_input 會提供一個字符串。

記住,在 Python 3 中,rawinput 改名為 input3

2. 要讓 raw_input 打印一條提示消息,可以在括號裡的引號中加一些文本,如下:

answer = raw_input("Type in a number: ")  

3. 要使用 raw_input 得到一個整數, 可以使用 int 轉換從 raw_input 得到的字符串。這個工作可以分兩步來完成,如下:

something = raw_inputanswer = int(something)  

或者也可以一步完成,如下:

answer = int(raw_input)  

4. 與上一題類似,只不過要使用 float 而不是 int

動手試一試

1. 交互模式中,這個指令應當如下所示:

>>> first = 'Warren'>>> last = 'Sande'>>> print first + lastWarrenSande  

唉呀!沒有空格。可以在你的名字末尾加一個空格。

>>> first = 'Warren '  

或者這樣試試看:

>>> print first + ' ' + lastWarren Sande  

還可以使用一個逗號,如下:

>>> first = 'Warren'>>> last = 'Sande'>>> print first, lastWarren Sande  

2. 這個程序應當類似下面的代碼:

first = raw_input('enter your first name: ')last = raw_input('enter your last name: ')print 'Hello,', first, last, 'how are you today?'  

3. 這個程序應當類似下面的代碼:

length = float(raw_input ('length of the room in feet: '))width = float(raw_input ('width of the room in feet: '))area = length * widthprint 'The area is', area, 'square feet.'  

4. 可以為上面第 3 題的程序增加幾行代碼:

length = float(raw_input ('length of the room in feet: '))width = float(raw_input ('width of the room in feet: '))cost_per_yard = float(raw_input ('cost per square yard: '))area_feet = length * widtharea_yards = area_feet / 9.0total_cost = area_yards * cost_per_yardprint 'The area is', area_feet, 'square feet.'print 'That is', area_yards, 'square yards.'print 'Which will cost', total_cost  

5. 程序應該類似下面的代碼:

quarters = int(raw_input("How many quarters? "))dimes = int(raw_input("How many dimes? "))nickels = int(raw_input("How many nickels? "))pennies = int(raw_input("How many pennies? "))total = 0.25 * quarters + 0.10 * dimes + 0.05 * nickels + 0.01 * penniesprint "You nave a total of: ", total