新聞中心
這是一個(gè)挑戰(zhàn)——嘗試解決以下 5 個(gè) Python 編程難題,不要用谷歌或百度去搜索答案。

創(chuàng)新互聯(lián)建站專注于平山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供平山營銷型網(wǎng)站建設(shè),平山網(wǎng)站制作、平山網(wǎng)頁設(shè)計(jì)、平山網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造平山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供平山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1) 幻方
幻方是包含數(shù)字 1 到 9 的 3x3 網(wǎng)格。每 3 個(gè)連續(xù)數(shù)字(行、列或?qū)蔷€)必須加起來為 15。下面是一個(gè)有效的幻方示例:
[ [2, 7, 6],
[9, 5, 1],
[4, 3, 8] ]
在這個(gè)謎題中,你得到了一個(gè)不完整的幻方。
[ [2, 0, 0],
[0, 0, 0],
[0, 3, 8] ]
幻方不應(yīng)該有 0。此處,0 表示您需要填寫 1 到 9 之間的數(shù)字。
- 1 到 9 每個(gè)數(shù)字只能出現(xiàn)一次
- 3 個(gè)數(shù)字的每一行、每一列和對角線的和必須等于 15
def solve(incomplete_square):
# 代碼放這里
square = [
[2, 0, 0],
[0, 0, 0],
[0, 3, 8]
]
solve(square)
# [ [2, 7, 6],
# [9, 5, 1],
# [4, 3, 8] ]
2) 大寫一個(gè)搞砸的字典
給你一個(gè)亂七八糟的字典,里面有多個(gè)非結(jié)構(gòu)化的嵌套。例如:
d = {
"a": {"b":"c"},
"d": {
"e":"f",
"g": {
"h":"i",
"j":"k",
"l":"m"
},
"n": {
"o": {
"p": {
"q": {"r":"s"}
}
}
}
}
}
編寫一個(gè)函數(shù),接受這個(gè)搞砸的字典,并返回這個(gè)字典的副本,其中所有鍵和值都轉(zhuǎn)換為大寫。
d = {
"A": {"B":"C"},
"D": {
"E":"F",
"G": {
"H":"I",
"J":"K",
"L":"M"
},
"N": {
"O": {
"P": {
"Q": {"R":"S"}
}
}
}
}
}
3) 來自字符串的字典
給你一個(gè)代表字典的字符串。
string = '{"name":"rocky", "age":5, "imported":True}'
假設(shè)鍵值對很簡單,沒有嵌套的列表、字典等集合。值將只是數(shù)字(in/float)、字符串或布爾值。
在不使用 json 庫、exec 或 eval 函數(shù)或任何其他內(nèi)置解析器的情況下,編寫一個(gè)接受此字符串的函數(shù),并返回由該字符串表示的實(shí)際字典。
4) 迷宮中的最短路徑
您將獲得代表迷宮的字符串列表。
maze = [
"P#----",
"-#-##-",
"------",
"-#-##-",
"-#-#--",
"---#-X",
- P 代表玩家
- - 代表一個(gè)空的空間。玩家可以站在空地上
- #代表一堵墻。玩家不能站在墻上
- X代表目標(biāo)。如果玩家達(dá)到目標(biāo),他就會(huì)獲勝。
編寫一個(gè)接受這個(gè)迷宮的函數(shù),并返回從玩家到目標(biāo)的最短路徑。玩家一次只能移動(dòng)一步,而且只能向 4 個(gè)方向移動(dòng)——向上、向下、向左和向右。該函數(shù)返回的示例:
["down", "down", "right", "right", "right", "right", "right", "down", "down", "down"]
5) 把字典轉(zhuǎn)換為列表
再一次,你會(huì)得到一個(gè)混亂的、搞砸了的、有多層嵌套的字典。
d = {
"a": "b",
"c": "d",
"e": {
"f": "g",
"h": "i"
},
"j": {
"k": {
"l": {"m":"n"}
}
}
}
編寫一個(gè)函數(shù)將其中的每個(gè)嵌套字典轉(zhuǎn)換為列表。輸出示例:
d = [
["a", "b"],
["c", "d"],
["e", [
["f", "g"],
["h", "i"]
]],
["j", [
"k", [
"l", ["m", "n"]
]
]]
]
結(jié)論
你單憑自己的能力解決了幾個(gè)難題呢?花了多長時(shí)間?
本文名稱:沒有多少人能解決的五個(gè)Python難題
網(wǎng)頁鏈接:http://fisionsoft.com.cn/article/cdiisss.html


咨詢
建站咨詢
