Python入門經典例題

2021-08-22 13:04:13 字數 2501 閱讀 6891

」』

列印出100-1000所有的「水仙花數」,所謂「水仙花數」是指乙個三位數,其各位數字立方和等於該數本身。

例如:153是乙個「水仙花數」,因為153=1的三次方+5的三次方+3的三次方。

」』

res=

for i in range(100,1000):

a=i//100

b=i//10-(i//100)*10

c=i%10

ifa**3+b**3+c**3==i:

print(res)

」』

顛倒乙個字典的鍵值對

例如原來的字典是:

跌倒過來是

」』

d=

l1=l2=

for k,v in d.items():

print(dict(zip(l1,l2)))

」』

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

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

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

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

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

ps:必須用二分法做出來,不能用python自帶的排序

」』

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))

python入門經典例題

題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?法一 for i in 1,2,3,4 for j in 1,2,3,4 for k in 1,2,3,4 print i 100 j 10 k 法二 for i in range 1,5 forj in range ...

python3經典例題 經典例題 Python

python python開發 python語言 經典例題 python 經典例題 if巢狀 1.使用者輸入賬號 2.使用者輸入密碼 3.判斷使用者的賬號是不是alex 4.如果賬號是alex在繼續判斷密碼是不是alexdsb 5.賬號和密碼都正確提示使用者alex就是乙個dsb 6.如果賬號正確密...

演算法競賽入門經典例題

7744問題 問題 輸出所有形如aabb的四位完全平方數 即前兩位數字相等,後兩位數字也相等 include include int main 開燈問題 include include define maxn 1010 int a maxn int main int n,k,first 1 mems...