2-1. 變量,print和字符串格式化操作符。啓動交互式解釋器,給一些變量賦值(字符串,數值等)並 通過輸入變量名顯示它們的值。在用print語句做同樣的事情。這二者有何區別?也嘗試使用字符 串格式操作符%,多做幾次,慢慢熟悉它。
答案:
由上可知,直接輸入變量名顯示的該對象的字符串表示,而print和格式化打印則顯示的是字符串。
2-2. 程序輸出,閱讀下面的Python腳本。
#!/usr/bin/env python
1+2*4
(a) 你認爲這段腳本是用來做什麼的?
(b) 你認爲這段腳本會輸出什麼?
(c) 輸入以上代碼,並保存爲腳本,然後運行它。它所做的預期與你的預期一樣嗎?爲什麼一樣/ 不一樣?
(d) 這段代碼單獨執行和在交互式解釋器中執行有何不同?試一下,然後寫出結果。
答案:
(a) 這段代碼意圖是輸出1+2*4的和
(b) 這段腳本什麼也不會輸出
(c) 不一樣,因爲這個腳本僅僅是一個表達式,而不是一個語句。
(d) 單獨執行時不會顯示任何內容,在交互式解釋器中可以顯示預期的結果。
2-3. 數值和操作符。啓動交互解釋器,使用Python對兩個數值(任意類型)進行加、減、乘、除運
算 。然後使用取餘操作符來得到兩個數相除的餘數,最後使用乘方操作符求A數的B次方。
答案:
2-4. 使用raw_input()函數得到用戶輸入。
(a) 創建一段腳本使用raw_input()內建函數從用戶得到一個字符串,然後顯示這個用戶剛剛鍵入 的字符串。
(b) 添加一段類似的代碼,不過這次輸入的是數值。將用戶輸入數據轉換爲一個數值對象,(使用 int()或其他數值轉換函數)並將這個值顯示給用戶看(注意,如果你用的是早於1.5的版本, 你需要使用 string.ato*()函數執行這種轉換)。
答案:
(a)
#!/usr/bin/env python mystring=raw_input('Enter a string :') print mystring
(b)
#!/usr/bin/env python mynum=raw_input('Enter a number:') print 'The number is %d.'%(int(mynum))
2-5. 循環和數字。
分別用while和for循環創建一個循環。
(a)寫一個while循環,輸出整型爲0~10(要確保是0~10,而不是1~10或者0~9)
(b)做同(a)一樣的事,這次使用range()函數。
答案:
(a)
#!/usr/bin/env python i=0 while i+1<=11: print i, i+=1
#!/usr/bin/env python num=[0,1,2,3,4,5,6,7,8,9,10] for i in num: print i,
(b)
for i in range(11): print i,
不知道怎麼用while寫了
2-6. 條件判斷。判斷一個數是正數,還是負數,或者是0.開始時先用固定的數值,然後修改代碼支持 用戶輸入數值再進行判斷。
答案:
#!/usr/bin/env python mynum=raw_input('Enter a number:') if int(mynum)>0: print 'This is a postive number.' elif int(mynum)==0: print 'This number is zero.' else: print 'This is negetive number.'
2-7. 循環和字串。從用戶那裏接受一個字符串輸入,然後逐個字符顯示該字符串。先用while循環實 現,然後再用for循環實現。
答案:
#!/usr/bin/env python mystring=raw_input('Enter a string:') i=0 while i<len(mystring): print mystring[i]+'+', i+=1
#!/usr/bin/env python mystring=raw_input('Enter a string:') for i in mystring: print i+'+',
2-8. 循環和操作符。創建一個包含五個固定數值的列表或元組,輸出它們的和。 然後修改你的代碼爲 接受用戶輸入數值,分別使用while和for循環實現。
答案:
#!/usr/bin/env python num=[1,2,3,4,5] s=0 for i in num: s=s+i print s
#!/usr/bin/env python num=[1,2,3,4,5] s=0 i=0 while i<len(num): s=s+num[i] i=i+1 print s
2-9. 循環和操作符。創建一個包含五個固定數值的列表或者元組,輸出它們的平均值。本練習的難點 是通過除法得到平均值。你會發現整型除會截去小數,因此你必須使用浮點除得到更精確的結 果。float()內建函數可以實現此功能。
答案:
#!/usr/bin/env python num=[2,5,8,4,9] s=0 for i in num: s+=i con=float(s)/5 print con