Python Task01:變量、運算符、資料類型及位運算
1. 怎樣對python中的代碼進行注釋?
單行注釋
多行注釋
'''
多行注釋
多行注釋
多行注釋
'''
"""
多行注釋
多行注釋
多行注釋
"""
2. python有哪些運算符,這些運算符的優先級是怎樣的?
種類 | 符号 |
---|---|
算術運算符 | + - * / // % ** |
比較運算符 | > >= < <= == != |
邏輯運算符 | and or not |
其他運算符 | in not in is is not |
運算符的優先級
- 一進制運算符優于二進制運算符。例如3**-2等價于3**(-2)。
- 先算術運算,後移位運算,最後位運算。例如 1 << 3 + 2 & 7等價于 (1 << (3 + 2)) & 7。
- 邏輯運算最後結合。例如3 < 4 and 4 < 5等價于(3 < 4) and (4 < 5)。
3. python 中 is, is not 與 ==, != 的差別是什麼?
- is, is not 對比的是兩個變量的記憶體位址
- ==, != 對比的是兩個變量的值
- 比較的兩個變量,指向的都是位址不可變的類型(str等),那麼is,is not 和 ==,!= 是完全等價的。
- 對比的兩個變量,指向的是位址可變的類型(list,dict等),則兩者是有差別的。
4. python 中包含哪些資料類型?這些資料類型之間如何轉換?
基本類型:整型、浮點型、布爾型
容器類型:字元串、元組、清單、字典和集合
類型 | 名稱 | 示例 |
---|---|---|
int | 整型 <class ‘int’> | -876, 10 |
float | 浮點型<class ‘float’> | 3.149, 11.11 |
bool | 布爾型<class ‘bool’> | True, False |
轉換方法
轉換為整型 int(x, base=10)
轉換為字元串 str(object='')
轉換為浮點型 float(x)
5. leetcode 習題 136. 隻出現一次的數字
給定一個非空整數數組,除了某個元素隻出現一次以外,其餘每個元素均出現兩次。找出那個隻出現了一次的元素。
嘗試使用位運算解決此題。
"""
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
"""
class Solution:
def singleNumber(self, nums: List[int]) -> int:
#數學算法:2*(a+b+c}-(a+a+b+b+c)=c
return (sum(set(nums))*2-sum(nums))
#位運算算法
a = 0
for num in nums:
a ^= num
return a