題一:列印水仙花數
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...