部分練習題及解答
python中註釋可分為行註釋和塊註釋,即單行註釋和多行註釋。
①單行註釋用 # 表示,並在井號後面輸入註釋的內容即可。
②多行註釋用一對 三個單引號'''或一對 三個雙引號"""表示,並在一對引號內(可多行)輸入要註釋的內容即可。
print("Hello world") # 這是一個單行註釋
'''
這是多行註釋,用三個單引號
在這裡輸入註釋內容即可
'''
"""
這是多行註釋,用三個雙引號
在這裡輸入註釋內容即可
"""
2.python有哪些運運算元,這些運運算元的優先順序是怎樣的?
①python中的主要運運算元有:算術運運算元、比較運運算元、邏輯運運算元、位運運算元、其他運運算元等,
②一般而言,常用的優先順序為:算術運算 >
位運算 >
邏輯運算
關於運運算元的詳細介紹可參考以下文章:http://c.biancheng.net/view/2190.html
3.python 中 is
, is not
與 ==
, !=
的區別是什麼?
is
的名稱為 是
is not
的名稱為 不是
==
的名稱為 等於
!=
的名稱為 不等於
① is, is not 對比的是兩個變數的記憶體地址
,而 ==, != 對比的是兩個變數的值
②當對比的兩個變數是地址不可變
的型別(str等),那麼is,is not 和 ==,!= 是完全等價的。當對比兩個變數是地址可變
的型別(list,dict等),則兩者是有區別的。
以下給出可變型別與不可變型別的概念:
可變型別
:變數名儲存的是一個地址,該地址指向一個具體的物件,並且不管對變數的值即物件做怎麼樣的操作,都不會改變變數名儲存的地址。如python中的列表(list),字典(dict),集合(set)。
不可變型別
:不變資料型別的物件一旦發生改變,就會在記憶體中開闢一個新的空間用於儲存新的物件,原來的變數名就會指向一個新的地址。如python中的元組,bool,數位(int),字串(str)。
4.python 中包含哪些資料型別?這些資料型別之間如何轉換?
①常用的資料型別有:整型
、浮點型
、布林型
②型別轉換:
int(x, base=10)
str(object='')
float(x)
print(int('520')) # 520
print(int(520.52)) # 520
print(float('520.52')) # 520.52
print(float(520)) # 520.0
print(str(10 + 10)) # 20
print(str(10.1 + 5.2)) # 15.3
練習題:只出現一次的數位
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。嘗試使用位運算解決此題。題目說明:
"""
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
"""
class Solution:
def singleNumber(self, nums):
# your code here
解題程式碼如下(向左滑動檢視更多程式碼):
nums = [] # 定義一個空陣列,用於接收陣列
class Solution: # 構建一個類物件
def singleNumber(self, nums): # 定義解決問題的方法
i = 0
for i in range(len(nums)):
j = 0
target = nums[i] # 先取出nums的第一元素,作為比較物件
for num in nums: # 遍歷陣列以找到不重複的元素
if target ^ num: # 使用位運算中的互斥或運運算元
j += 1
if j >= (len(nums) - 1):
return target # 返回這個不重複的元素
a = Solution() # 範例化一個類物件
print(a.singleNumber([2, 2, 1])) #呼叫方法,然後列印結果為1
print(a.singleNumber([4, 1, 2, 1, 2])) # 4
Tips:該方法只能找出一個不重複的元素,當要查詢陣列中有兩個及以上的不重複元素時,有待改進…
if語句中常用的三種型別
①if 語句
:
if expression:
expr_true_suite
if 語句的 expr_true_suite
程式碼塊只有當條件表示式 expression
結果為真時才執行,否則將繼續執行緊跟在該程式碼塊後面的語句。
②if - else 語句
if expression:
expr_true_suite
else:
expr_false_suite
Python 提供與 if 搭配使用的 else,如果 if 語句的條件表示式結果布林值為假,那麼程式將執行 else 語句後的程式碼。
③if - elif - else 語句
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
elif 語句即為 else if,用來檢查多個表示式是否為真,並在為真時執行特定程式碼塊中的程式碼。而且elif 可以多個巢狀使用。
關於if語句的一些小心得:
1) else是一條只要不滿足if條件或elif條件就會執行的程式碼,如果知道最終要測試的條件,建議使用elif程式碼塊代替else
2) 如果只想執行一個程式碼塊,就可使用 if - elif - else 結構,這樣只要檢查到一個條件滿足就跳出; 如果執行多個程式碼塊,就使用多個獨立的 if 語句,程式碼執行時會逐個檢查測試條件,且各獨立的 if 語句互不干擾。