自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

沒有多少人能解決的五個 Python 難題

開發(fā) 前端
這是一個挑戰(zhàn)——嘗試解決以下 5 個 Python 編程難題,不要用谷歌或百度去搜索答案。

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

1) 幻方

幻方是包含數(shù)字 1 到 9 的 3x3 網(wǎng)格。每 3 個連續(xù)數(shù)字(行、列或?qū)蔷€)必須加起來為 15。下面是一個有效的幻方示例:

[  [2, 7, 6],
[9, 5, 1],
[4, 3, 8] ]

在這個謎題中,你得到了一個不完整的幻方。

[  [2, 0, 0],
[0, 0, 0],
[0, 3, 8] ]

幻方不應(yīng)該有 0。此處,0 表示您需要填寫 1 到 9 之間的數(shù)字。

  • 1 到 9 每個數(shù)字只能出現(xiàn)一次
  • 3 個數(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) 大寫一個搞砸的字典

給你一個亂七八糟的字典,里面有多個非結(jié)構(gòu)化的嵌套。例如:

d = {
"a": {"b":"c"},
"d": {
"e":"f",
"g": {
"h":"i",
"j":"k",
"l":"m"
},
"n": {
"o": {
"p": {
"q": {"r":"s"}
}
}
}
}
}

編寫一個函數(shù),接受這個搞砸的字典,并返回這個字典的副本,其中所有鍵和值都轉(zhuǎn)換為大寫。

d = {
"A": {"B":"C"},
"D": {
"E":"F",
"G": {
"H":"I",
"J":"K",
"L":"M"
},
"N": {
"O": {
"P": {
"Q": {"R":"S"}
}
}
}
}
}

3) 來自字符串的字典

給你一個代表字典的字符串。

string = '{"name":"rocky", "age":5, "imported":True}'

假設(shè)鍵值對很簡單,沒有嵌套的列表、字典等集合。值將只是數(shù)字(in/float)、字符串或布爾值。

在不使用 json 庫、exec 或 eval 函數(shù)或任何其他內(nèi)置解析器的情況下,編寫一個接受此字符串的函數(shù),并返回由該字符串表示的實際字典。

4) 迷宮中的最短路徑

您將獲得代表迷宮的字符串列表。

maze = [
"P#----",
"-#-##-",
"------",
"-#-##-",
"-#-#--",
"---#-X",
  • 代表玩家
  • 代表一個空的空間。玩家可以站在空地上
  • #代表一堵墻。玩家不能站在墻上
  • X代表目標。如果玩家達到目標,他就會獲勝。

編寫一個接受這個迷宮的函數(shù),并返回從玩家到目標的最短路徑。玩家一次只能移動一步,而且只能向 4 個方向移動——向上、向下、向左和向右。該函數(shù)返回的示例:

["down", "down", "right", "right", "right", "right", "right", "down", "down", "down"]

5) 把字典轉(zhuǎn)換為列表

再一次,你會得到一個混亂的、搞砸了的、有多層嵌套的字典。

d = {
"a": "b",
"c": "d",
"e": {
"f": "g",
"h": "i"
},
"j": {
"k": {
"l": {"m":"n"}
}
}
}

編寫一個函數(shù)將其中的每個嵌套字典轉(zhuǎn)換為列表。輸出示例:

d = [
["a", "b"],
["c", "d"],
["e", [
["f", "g"],
["h", "i"]
]],
["j", [
"k", [
"l", ["m", "n"]
]
]]
]

結(jié)論

你單憑自己的能力解決了幾個難題呢?花了多長時間?

責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-04-02 14:33:42

MySQLBUG解決方案

2024-02-20 08:23:35

LookupSpringbeans

2020-07-20 09:40:49

MySQLBUG數(shù)據(jù)庫

2010-07-01 14:35:57

Windows 7

2013-08-20 15:27:59

Linux操作系統(tǒng)

2023-10-29 00:55:44

2019-08-08 16:27:36

自動駕駛無人駕駛駕駛

2021-07-29 06:28:13

網(wǎng)絡(luò)網(wǎng)工網(wǎng)絡(luò)中斷

2022-10-11 16:28:42

比特幣加密貨幣資產(chǎn)

2021-04-15 11:07:01

比特幣貨幣加密貨幣

2022-11-12 12:32:39

.NET微軟

2018-06-21 07:40:23

無線充電無線供電無線輸電

2020-06-09 08:00:52

Python開發(fā)代碼

2020-09-22 11:55:26

Linux命令操作系統(tǒng)

2022-09-13 14:47:55

區(qū)塊鏈房地產(chǎn)傭金

2020-11-13 10:25:41

人臉數(shù)據(jù)

2021-07-16 23:18:14

機器人人工智能垃圾分類

2014-02-24 16:26:15

云存儲

2022-08-05 11:29:06

數(shù)據(jù)分析考核政治

2013-11-13 14:33:10

hadoop分布式系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號