《Python核心編程》第二章(1)

2-1. 變量,print和字符串格式化操作符。啓動交互式解釋器,給一些變量賦值(字符串,數值等)並 通過輸入變量名顯示它們的值。在用print語句做同樣的事情。這二者有何區別?也嘗試使用字符 串格式操作符%,多做幾次,慢慢熟悉它。

答案:

202354590.jpg

由上可知,直接輸入變量名顯示的該對象的字符串表示,而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次方。

答案:

203956628.jpg

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章