Contents
- 一、 變數、運算子與資料型別
- 二、位運算
- 三、條件陳述句
一、 變數、運算子與資料型別
部分練習題及解答
- 怎樣對python中的代碼進行注釋?
注釋就是對代碼的解釋和說明,目的是為了讓別人和自己很容易看懂,一看就知道這段代碼是做什么用的,正確的程式注釋一般包括序言性注釋和功能性注釋,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 陳述句互不干擾,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/175263.html
標籤:其他
