天天看點

Python Task01:變量、運算符、資料類型及位運算

Python Task01:變量、運算符、資料類型及位運算

1. 怎樣對python中的代碼進行注釋?

單行注釋

多行注釋

'''
多行注釋
多行注釋
多行注釋
'''
"""
多行注釋
多行注釋
多行注釋
"""
           

2. python有哪些運算符,這些運算符的優先級是怎樣的?

種類 符号
算術運算符 + - * / // % **
比較運算符 > >= < <= == !=
邏輯運算符 and or not
其他運算符 in not in is is not

運算符的優先級

  1. 一進制運算符優于二進制運算符。例如3**-2等價于3**(-2)。
  2. 先算術運算,後移位運算,最後位運算。例如 1 << 3 + 2 & 7等價于 (1 << (3 + 2)) & 7。
  3. 邏輯運算最後結合。例如3 < 4 and 4 < 5等價于(3 < 4) and (4 < 5)。

3. python 中 is, is not 與 ==, != 的差別是什麼?

  1. is, is not 對比的是兩個變量的記憶體位址
  2. ==, != 對比的是兩個變量的值
  3. 比較的兩個變量,指向的都是位址不可變的類型(str等),那麼is,is not 和 ==,!= 是完全等價的。
  4. 對比的兩個變量,指向的是位址可變的類型(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