-
? 二進制數只使用數字0、1表示,在Python中,二進制整數使用前綴
0b
表示,比如:0b0110
,0b1100
。十六進制數除了0~9十個數字以外,還使用a、b、c、d、e、f,在Python中,十六進制使用前綴
0x
,比如:0x12ef
,0xde2431af
。浮點數可以用數學寫法,如
1.23
,3.14
,-9.01
。但是對于很大或很小的浮點數,就必須用科學計數法表示,在Python中,把10用e替代,比如:1.23x10^9
就是1.23e9
,或者12.3e8
,0.000012
可以寫成1.2e-5
,同學可以自行舉出更多的例子。在Python中,可以直接用True、False表示布爾值(請注意大小寫,不需要使用字符串符號括起來),也可以通過布爾運算計算出來。
布爾值可以用
and
、or
和not
運算(注意and
,or
,not
都是Python語言本身的關鍵字)。and
運算是與運算,只有所有都為 True,and運算結果才是 True。or
運算是或運算,只要其中有一個為 True,or 運算結果就是 True。not
運算是非運算,它是一個單目運算符,把 True 變成 False,False 變成 True
查看全部 -
正如我們看到的,list可以放入數字、字符串等數據類型,list不對放入其中的類型進行判斷,也就是說,list可以同時放入任意類型的數據,這是Python這門語言決定的,因為Python是動態語言。
L?=?['Alice',?66,?'Bob',?True,?'False',?100]
查看全部 -
如果要表示多行字符串,可以用
'''...'''
表示:'''Line?1 Line?2 Line?3'''
查看全部 -
Python之for循環
for循環在Python語言的流程控制中是非常重要的,在編程中有很多場景需要使用到for循環。舉個例子,當我們需要把字符串中的每一個字符打印出來的時候,我們怎么實現呢?
我們當然可以使用之前學習的指定位置的方式讓每個字符打印出來。s?=?'ABCD' print(s[0]) print(s[1]) print(s[2]) print(s[3])
但是,這是字符串s比較短的情況下可以實現的,當s擁有成千上萬個字符的時候,難道我們要為此書寫上萬行代碼嗎?這個時候for循環就可以派上用場了。
s?=?'ABCD' for?ch?in?s: ????print(ch)?#?注意縮進
在上述代碼中,
ch
是在for循環中定義的,意思是把字符串s
中的每一個元素依次賦值給ch,然后再把ch打印出來,直到打印出字符串s的最后一個字符為止。任務
班里考試后,老師要統計幾位同學的平均成績,已知5位同學的成績用list表示如下:
L = [75, 92, 59, 68, 99]
請利用for循環計算出平均成績。利用一個sum變量累加就可以計算出總成績。
L?=?[75,?92,?59,?68,?99] sum?=?0.0 for?x?in?L: ????sum?=?sum?+?x print(sum?/?5)
查看全部 -
Python之if-elif-else語句
在100分的考試當中,分數達到或超過90分是頂尖的,達到或超過80分是優秀的,如果想對達到或者超過60分的學生進行不同的分類,使用if-else進行判斷,代碼如下
score?=?59 if?score?<?60: ????print('抱歉,考試不及格') else: ????if?score?>=?90: ????????print('恭喜你,拿到卓越的成績') ????else: ????????if?score?>=?80: ????????????print('恭喜你,拿到優秀的成績') ????????else: ????????????print('恭喜你,考試及格')
在這個程序里,我們做了多次分類,第一次,我們把低于60分和大于等于60分的分開,第二次,我們把大于等于90分和小于90分的分開,第三次,我們把大于等于80分和小于80分的分開。
這樣寫,我們得到一個兩層嵌套的if-else語句,這樣的實現可以滿足我們的要求,但是如果繼續增加條件,比如繼續判斷高于70分和低于70分的話,那么這個代碼將會縮進越來越多,代碼邏輯看起來也不夠清晰。
我們可以使用if-elif-else語句來簡化以上的邏輯。其中elif就是else if的意思。score?=?59 if?score?<?60: ????print('抱歉,考試不及格') elif?score?>=?90: ????print('恭喜你,拿到卓越的成績') elif?score?>=?80: ????print('恭喜你,拿到優秀的成績') else: ????print('恭喜你,考試及格')
這樣,我們就可以寫出代碼結構非常清晰的一系列條件判斷了。
特別注意: 這一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執行完對應的代碼塊,后面的條件判斷就直接忽略,不再執行了。
請思考以下代碼將會輸出什么?為什么不輸出恭喜你,拿到卓越的成績
。(只有在不符合第一個條件的情況下,才會進入下一個條件的判斷)score?=?95 if?score?<?60: ????print('抱歉,考試不及格') elif?score?>=?80: ????print('恭喜你,拿到優秀的成績') elif?score?>=?90: ????print('恭喜你,拿到卓越的成績') else: ????print('恭喜你,考試及格')
查看全部 -
Python之if-else語句
使用if判斷,可以在當if條件為True時,執行if的子邏輯分支,但有時候,也想在if條件不為True時,執行別的子邏輯分支。
比如:在上一節課的例子中,我希望當分數小于60分時輸出,抱歉,考試不及格
,否則,輸出恭喜你,考試及格
,這個時候可以使用if-else語句。score?=?59 if?score?<?60: ????print('抱歉,考試不及格') else: ????print('恭喜你,考試及格')
這個時候,程序就會根據score的值,走不同的子邏輯分支,同學可以改變score的值試一試。
在這里,同樣需要注意兩個地方,第一個是冒號:
,在else中,同樣需要冒號;其次是縮進,在else的子邏輯分支,同樣需要縮進。查看全部 -
zhuyi o o o
查看全部 -
Python之if語句
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷,通過條件判斷,選擇做什么樣的邏輯(當然,邏輯是需要我們提前寫好的),我們稱之為條件分支判斷。
舉個例子,在100分試卷的考試中,小于60分我們認為是不及格的,因此,我們可以使用程序自動判斷考試是否及格。score?=?59 if?score?<?60: ????print('抱歉,考試不及格') #?==>?抱歉,考試不及格
這里,因為
score = 59 < 60
,所以if的判斷是True
,因此就會執行print('抱歉,考試不及格')
。
這里有幾個需要注意的地方:可以看到
print('抱歉,考試不及格')
這行代碼明顯比上一行代碼縮進了,這是因為這行代碼是if判斷的一個子分支,因此需要縮進,在Python規范中,一般使用4個空格作為縮進在if語句的最后,有一個冒號
:
,這是條件分支判斷的格式,在最后加入冒號:
,表示接下來是分支代碼塊
查看全部 -
Python之if語句
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷,通過條件判斷,選擇做什么樣的邏輯(當然,邏輯是需要我們提前寫好的),我們稱之為條件分支判斷。
舉個例子,在100分試卷的考試中,小于60分我們認為是不及格的,因此,我們可以使用程序自動判斷考試是否及格。score?=?59 if?score?<?60: ????print('抱歉,考試不及格') #?==>?抱歉,考試不及格
這里,因為
score = 59 < 60
,所以if的判斷是True
,因此就會執行print('抱歉,考試不及格')
。
這里有幾個需要注意的地方:可以看到
print('抱歉,考試不及格')
這行代碼明顯比上一行代碼縮進了,這是因為這行代碼是if判斷的一個子分支,因此需要縮進,在Python規范中,一般使用4個空格作為縮進在if語句的最后,有一個冒號
:
,這是條件分支判斷的格式,在最后加入冒號:
,表示接下來是分支代碼塊
查看全部 -
L.pop() to delete string from lise
查看全部 -
L.sort() can also sort strings
查看全部 -
L.sort() to sort data in L
L.reverse() for reversing data
查看全部 -
Python的字符串切片
字符串由一個個字符組成,每一個字符都有一個唯一的位置。比如字符串
'ABC'
,第一個字符是A
,第二個字符是B
,第三個字符是C
。
因此我們可以使用位置的方式取出字符串中特定位置的字符,按照位置取字符串的方式使用中括號[]
訪問,這個時候可以把字符串看作是一個列表(一種新的數據類型,在后面會繼續學習),不過需要注意的是,在程序的世界中,計數是從0
開始的,使用0
來表示第一個。s?=?'ABC' a?=?s[0]?#?第一個 b?=?s[1]?#?第二個 c?=?s[2]?#?第三個 print(a)?#?==>?A print(b)?#?==>?B print(c)?#?==>?C
有時候,我們會想獲取字符串的一部分(子串),這個時候我們采取切片的方式獲取,切片需要在中括號
[]
中填入兩個數字,中間用冒號分開,表示子串的開始位置和結束位置,并且這是半閉半開區間,不包括最后的位置。ab?=?s[0:2]?#?取字符串s中的第一個字符到第三個字符,不包括第三個字符 print(ab)?#?==>?AB
我們定義一個更長的字符串,了解切片更多的細節。
s?=?'ABCDEFGHIJK' abcd?=?s[0:4]?#?取字符串s中的第一個字符到第五個字符,不包括第五個字符 print(abcd)?#?==>?ABCD cdef?=?s[2:6]?#?取字符串s中的第三個字符到第七個字符,不包括第七個字符 print(cdef)?#?==>?CDEF
查看全部 -
Python的字符串format
字符串是Python程序重要的數據類型,有時候通過字符串輸出的內容不是固定的,這個時候需要使用format來處理字符串,輸出不固定的內容。
字符串format由兩個部分組成,字符串模板和模板數據內容組成,通過大括號
{}
,就可以把模板數據內容嵌到字符串模板對應的位置。#?字符串模板 template?=?'Hello?{}' #?模板數據內容 world?=?'World' result?=?template.format(world) print(result)?#?==>?Hello?World
如果模板中
{}
比較多,則容易錯亂,那么在format的時候也可以指定模板數據內容的順序#?指定順序 template?=?'Hello?{0},?Hello?{1},?Hello?{2},?Hello?{3}.' result?=?template.format('World',?'China',?'Beijing',?'imooc') print(result)?#?==>?Hello?World,?Hello?China,?Hello?Beijing,?Hello?imooc. #?調整順序 template?=?'Hello?{3},?Hello?{2},?Hello?{1},?Hello?{0}.' result?=?template.format('World',?'China',?'Beijing',?'imooc') print(result)?#?==>?Hello?imooc,?Hello?Beijing,?Hello?China,?Hello?World.
除了使用順序,還可以指定對應的名字,使得在format過程更加清晰。
#?指定{}的名字w,c,b,i template?=?'Hello?{w},?Hello?{c},?Hello?,?Hello?{i}.' world?=?'World' china?=?'China' beijing?=?'Beijing' imooc?=?'imooc' #?指定名字對應的模板數據內容 result?=?template.format(w?=?world,?c?=?china,?b?=?beijing,?i?=?imooc) print(result)?#?==>?Hello?World,?Hello?China,?Hello?Beijing,?Hello?imooc.
查看全部 -
注意,
append()
方法總是將元素添加到list的尾部。查看全部
舉報