日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

傲梦python笔试题_python笔试题

發布時間:2024/7/23 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 傲梦python笔试题_python笔试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

冒泡排序的原理:每次對相鄰的兩個元素進行比較,若前者大于后者,這將兩者的位置交換。第一輪就可以將最大的元素置于列表的最后。幾輪循環

冒泡排序的前提條件:有序的列表

import unittest

# 冒泡排序

def bubble_sort(arr):

for i in range(len(arr) - 1): #這個循環負責設置冒泡排序進行的次數

for j in range(len(arr) - 1 - i): #j為下標

if arr[j] > arr[j + 1]:

arr[j], arr[j + 1] = arr[j + 1], arr[j]

return arr

class SortTesrCase(unittest.TestCase):

def test_bubble_sort(self):

test_data_1 = [4,5,1,2,3]

copy_test_data_1 = test_data_1[:]

bubble_sort(test_data_1)

copy_test_data_1.sort()

self.assertEqual(test_data_1,copy_test_data_1)

if __name__ == '__main__':

unittest.main()

二分查找

有序列表中,順序查找需要從一端到另一端按照順序進行查找,最多需要比較n次。二分查找從中間項開始

如果該項是我們目標項,則完成查找;如果目標項大于中間項,則可以消除中間項及比中間項目小的那一部分;反之,消除中間項目及比中間項目比較大的那一部分,之后再次重復上面過程。

import unittest

def bin_search(arr, target):

length = len(arr)

mid = length // 2 # 找到中間元素

if (length == 1 and arr[0] != target) or length == 0 : # 目標元素不存在

return False

if arr[mid] == target: # 如果該元素等于目標元素

return True

if target > arr[mid]: # 如果目標元素大于中間元素

print(arr[mid+1:])

return bin_search(arr[mid+1:], target) # 在列表的右半邊遞歸進行二分查找

else: # 小于的情況

return bin_search(arr[:mid], target) # 在列表的左半邊遞歸進行二分查找

class BinSearchTestCase(unittest.TestCase):

def test_bin_search(self):

test_data = [9, 5, 2, 7] # 測試數據

test_data.sort() # 先排序

self.assertEqual(bin_search(test_data, 2), True)

self.assertEqual(bin_search(test_data, 9), True)

self.assertEqual(bin_search(test_data, 1), False)

self.assertEqual(bin_search(test_data, 999), False)

if __name__ == '__main__':

unittest.main()

總結

以上是生活随笔為你收集整理的傲梦python笔试题_python笔试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。