----------------輸出hello world--------------
核心筆記一:
在互動式直譯器中顯示變數的值
通常當你想看變數內容時,你會在**中使用print 語句輸出。不過在互動式直譯器中,
你可以用 print 語句顯示變數的字串表示,或者僅使用變數名檢視該變數的原始值。
在下面的例子中,我們把乙個字串賦值給變數mystring,先用print 來顯示變數的內容,
之後用變數名稱來顯示。
>>> mystring = 'hello world!'
>>> print mystring
hello world!
>>> mystring
'hell world!'
注意:在僅用變數名時,輸出的字串是被用單引號括起來了的。這是為了讓非字串對
象也能以字串的方式顯示在螢幕上--即它顯示的是該物件的字串表示,而不僅僅是字元
串本身。引號表示你剛剛輸入的變數的值是乙個字串
有單引號代表輸出的是字串,而print函式處理的本來就是字串。這類似於str()和repr()兩個函式:
>>> str('hello world!')
'hello world!'
>>> repr('hello world!')
"'hello world!'"
python 的print 語句,與字串格式運算子( % )結合使用,可實現字串替換功能
>>> print '%s is number %d!' % ('python', 1)
python is number 1!
%s 表示由乙個字串來替換,而%d 表示由乙個整數來替換,另外乙個很常用的就是%f, 它
表示由乙個浮點數來替換
---------------input和raw_input函式-------------
input和raw_input的區別:
input()函式支援使用者輸入數字或者表示式,不支援輸入字串.返回的是數字型別的數值.
raw_input()函式捕獲的是使用者的原始輸入,返回為字串.如果需要用輸入的數字計算,則需要使用int()函式轉換一下.如果我們直接用輸入的數值與某數想加,那麼直譯器就會報錯:
a = input("a: ")
print 'a = ', a
b = raw_input("b: ")
print 'b = ', b
輸出結果是:
a: 1+1
a = 2
b: 1+1
b = 1+1
從結果中我們可以看出:
input()函式輸入表示式1+1後返回數值2
raw_input()函式輸入表示式1+1後返回字串"1+1"
>>> user = raw_input('enter login name:')
enter login name:fzyz.abc
>>> print 'your login is:', user
your login is: fzyz.abc
>>> num = raw_input('now enter a number:')
now enter a number:1024
>>> print 'doubling your number: %d' % (int(num) * 2)
doubling your number: 2048
內建函式int()將數值字串轉換成整數值,這樣才可以對它進行數**算
核心筆記二:從互動式直譯器中獲得幫助
在學習 python 的過程中,如果需要得到乙個生疏函式的幫助,只需要對它呼叫內建函式
help()。通過用函式名作為 help()的引數就能得到相應的幫助資訊:
---------------python中文編碼-------------
用 python 輸出 "hello, world!",英文沒有問題,但是如果你輸出中文字元"你好,世界"就有可能會碰到中文編碼問題。
python 檔案中如果未指定編碼,在執行過程會出現報錯:
需要在檔案開頭加入 # _*_ coding: utf-8 _*_
python 不支援c 語言中的自增1 和自減1 運算子, 這是因為 + 和 - 也是單目運算子,
python 會將 --n 解釋為-(-n) 從而得到 n , 同樣 ++n 的結果也是 n.
---------------列表和元組------------
列表和元組有幾處重要的區別。列表元素用中括號( [ ])包裹,元素的個數及元素的值可
以改變。元組元素用小括號(( ))包裹,不可以更改(儘管他們的內容可以)。元組可以看成是
唯讀的列表。通過切片運算( [ ] 和 [ : ] )可以得到子集
迴圈索引和迴圈元素,利用enumerate()函式
foo = 'abc'
for i, ch in enumerate(foo):
print ch, '(%d)' % i
結果輸出為:
a (0)
b (1)
c (2)
---------------------------檔案讀取open---------------------------------------
filename = raw_input('enter file name: ')
fobj = open(filename, 'r')
for eachline in fobj:
print eachline,
fobj.close()
輸出結果:
enter file name: e:\hjh.txt
hjhhjp
hlzzee
在print 語句中使用逗號來抑制自動生成的換行符號。 為什麼要這樣做?因為檔案中的每行文字已經自帶了換行字元, 如果我們不抑
制print 語句產生的換行符號, 文字在顯示時就會有額外的空行產生。
2-15元素排序
(a)讓使用者輸入三個數值並將分別將它們儲存到3個不同的變數中。不使用列表或排序演算法,自己寫**來對這三個數由小到大排序。(b)修改(a)的解決方案,使之從大到小排序
num1 = int(raw_input("enter number1:"))
num2 = int(raw_input("enter number2:"))
num3 = int(raw_input("enter number3:"))
minnum = min([num1, num2, num3])
maxnum = max([num1, num2, num3])
mid = [x for x in [num1, num2, num3] if x != minnum and x != maxnum]
print minnum, mid[0], maxnum
python核心程式設計第二章練習
2.5 分別使用while和for建立乙個迴圈 a 寫乙個while迴圈,輸出整數從0到10。要確保是從0到10,而不是從0到9或從1到10 b 做同 a 一樣的事,不過這次使用range 內建函式。a a 0while a 11 print a,end a 1 搞一搞 輸入任意整數,始終得到0到1...
第二章 核心C
如果在一條語句中宣告和初始化了多個變數,那麼所有的變數都具有相同的資料型別 int x 10,y 20 變數使用前需要賦初始值 宣告不同型別的變數需要單獨的語句。變數的初始化 變數時類或者結構中的字段,如果沒有顯式的初始化,建立這些變數時,其預設值就是0.方法的區域性變數必須在 中顯示的初始化,之後...
python核心程式設計第二章練習答案
迴圈和操作符 自己定義乙個列表的較簡單,下面的答案是使用者自己輸入列表 方法一sb 後來發現這種方法只能處理0 9的數字 方法二 但是這種只能每次輸入乙個數字 1 print 1 取五個數的和 n2 取五個數的平均值 nx 退出 option input please input your opti...