Python作業(五) 基礎 進價語言練習題

2021-08-23 12:04:14 字數 2784 閱讀 1574

題一:列印水仙花數

def

get_flower_number

(start,end):

''' :param start:水仙花數範圍的開始

:param end: 水仙花數範圍的結束

:return: list[int] 儲存水仙花數的list

'''res =

for i in range(start,end):

if i == (i//100)**3+(i//10%10)**3+(i%10)**3:

return res

print(get_flower_number(100,1000))

#執行結果:[153, 370, 371, 407]

題二:

顛倒乙個字典的鍵值對

例如原來的字典是:

跌倒過來是

d = 

print(d.items())#注意item用法

res =

print(res)

#執行結果:dict_items([('a', 'a'), ('c', 'c'), ('b', 'b')])

題三:二分法練習

使用二分法來將乙個數插入到乙個已經公升序的列表,遇到相等的數字,插入到其右邊

例如:[1,4,7,11] 要插入2

結果:[1,2,4,11]

例如:[1,4,7,11] 要插入4.0

結果:[1,4,4.0,7,11] 遇到相等的插到其右邊

def

insert_list

(l,num):

''' :param num:待插入的列表

:param num: 待插入的數字

:return: list

'''p1,p2 = 0,len(l)-1

#邊界值

while p1<=p2:

m = (p1+p2)//2

#中間值

if num#更新右邊界

else:p1 = m+1

#更新左邊界,因為要右插,所以+1 在(l[m]==num or l[m]l.insert(p1,num)

return l

print(insert_list([1,4],4.0))

題四:檢查數獨(此題有難度,博主還不會,以下是乙個學長的答案,僅供參考)

判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。

數字 1-9 在每一行只能出現一次。

數字 1-9 在每一列只能出現一次。

數字 1-9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。

請設計乙個函式,來判斷下面的m是否是乙個有效的數獨 是返回true 否返回false

其中沒有數字的用」.」來表示的

m = [

["5","3",".",".","7",".",".",".","."],

["6",".",".","1","9","5",".",".","."],

[".","9","8",".",".",".",".","6","."],

["8",".",".",".","6",".",".",".","3"],

["4",".",".","8",".","3",".",".","1"],

["7",".",".",".","2",".",".",".","6"],

[".","6",".",".",".",".","2","8","."],

[".",".",".","4","1","9",".",".","5"],

[".",".",".",".","8",".",".","7","9"]

]def

isvalidsudoku

(board):

""" :type board: list[list[str]]

:rtype: bool

"""from math import ceil # 用於向上取整,把1-3 4-6 7-9按x/3 y/3向上取整得出1 2 3三類

d = {}

for i in range(1, 10):

for j in range(1, 10):

temp = board[i - 1][j - 1]

if temp != '.'

and temp not

in d:

d[temp] = [[i, j]]

elif temp != '.':

for k in d:

l = len(d[k])

setx, sety, setxy = set(), set(), set()

for it in d[k]:

setx.add(it[0])

sety.add(it[1])

setxy.add((ceil(it[0] / 3), ceil(it[1] / 3)))

if len(setx) != l or len(sety) != l or len(setxy) != l:

return

false

return

true

print(isvalidsudoku(m))

# **說明:

# 把數獨改寫成此資料結構再來判斷:

# #執行結果:true

Python 語言基礎 作業題

print abc nd abc d print r abc nd abc nd print abc nd abc nd print abc nd abc d從鍵盤輸入乙個正整數,然後求出它的個位數 十位數 百位數 千位數和萬位數,並按樣例的格式輸出。要求 可使用運算子 與 不允許使用map函式 輸...

C語言基礎第五次作業

7 1,判斷素數 1.實驗 include include intmain return0 2.設計思路 1 文字描述 第一步 定義變數i,i,n,m,q 第二步 用q控制連續 輸入n個值,用i來判斷輸入值m是否為素數 第三步 輸出yes或no 結束程式 2 流程圖 3.本題除錯過程遇到的問題及解決...

組合語言作業(五)

班級 計算機14 1姓名 許愷 學號 2014011329日期 2016.4.22 一 編寫程式 1.設有字陣列x y和z,各有10個元素,計算 z0 x0 y0 z1 x1 y1 z2 x2 y2 z3 x3 y3 z4 x4 y4 z5 x5 y5 z6 x6 y6 z7 x7 y7 z8 x8...