1. 程式人生 > >python 面試題

python 面試題

添加 git num bre you urllib round import 5.6

前段時間面試碰到的一組python面試題,雖然很簡單但是特別的基礎.

1.Python 如何判斷二維數組中是否包含整數?

array = [[1, 3, 5.6, 7.2, 8, 9.9], [2.5, 4.7, 6.8, 7.3, 9, 10], [3.7, 6.7, 9.8, 9.9, 11, 12.1]]

for i in array:
    for j in i:
        if str(j).isdigit():   # 判斷是否是整數還可以通過isinstance(j, int)
print("二維列表中包含整數") break break

2.如何將字符串中的空格轉變成為%20?

# 1.通過替換方式實現
>>> str = "how do you do"
>>> str.replace(" ", "%20")
how%20do%20you%20do
# 2.通過編碼的方式實現
>>> from urllib import parse
>>> parse.quote(str)
how%20do%20you%20do

3.把列表的重復元素刪除?

# 通過set的方式先去重,在轉換為列表
>>> list1 = [1, 3, 3, 4, 1, 2]
>>> list(set(list1))
[
1, 2, 3, 4]

如果第一題變成先生成一個4* 4 的維數組,然後再次去判斷是否包含整數,這裏我們需要考慮生成數組;

array = []
for j in range(0, 4):
    array1 = []
    for i in range(1, 5):
        array1.append(i)
    array.append(array1)
print(array)

通過兩個for循環就可以生成,雖然簡單我們還是滿足要求的,下面在增加需求4* 4 的數組,但是要求二維數組中即包含整數又包含小數;

import random

array 
= [] for j in range(0, 4): array1 = [] for i in range(0, 4): radNum = random.randint(0, 100) if radNum % 2 == 0: # 如果是偶數生成1,10之間整數,如果是基數生成一個小數,並且保留2為小數 array1.append(random.randint(1, 10)) else: array1.append(round(random.uniform(1, 10), 2)) array.append(array1)

繼續增加復雜度,每行的數值,從左到右數值需要依次增大

import random

array = []
for j in range(0, 4):
    array1 = []
    for i in range(0, 4):
        radNum = random.randint(0, 100)
        if radNum % 2 == 0:  # 如果是偶數生成1,10之間整數,如果是基數生成一個小數,並且保留2為小數
            if len(array1) == 0:  # 判斷當前列表長度是不是0,如果是0,代表列表沒有任何元素,那麽直接添加元素
                element = random.randint(0, 100)
                array1.append(element)
            else:
                element = random.randint(int(array1[-1]) + 1, int(
                    array1[-1]) + 100)  # 否則生成的元素一定要大於最後一個元素,並且避免出現最後一個元素和生成隨機數的邊界值相差太小,同時自動增長100
                array1.append(element)
        else:
            if len(array1) == 0:
                element = round(random.uniform(0, 100), 2)
                array1.append(element)
            else:
                element = round(random.uniform(array1[-1] + 1, array1[-1] + 100), 2)
                array1.append(element)
    array.append(array1)

python 面試題