我已經以另一種方式解決了CodeWars上的這個挑戰,現在我正在從其他解決方案中學習。其中之一是:
# Recursive solution
def sqInRect(lng, wdth, recur = 0):
if lng == wdth:
return (None, [lng])[recur] # If this is original function call, return None for equal sides (per kata requirement);
# if this is recursion call, we reached the smallest square, so get out of recursion.
lesser = min(lng, wdth)
return [lesser] sqInRect(lesser, abs(lng - wdth), recur = 1)
你能解釋一下這條線是什么意思嗎:(return (None, [lng])[recur]特別[recur]是 - 我在任何地方都沒有看到這樣的東西......它是索引,串列還是其他東西?它提供了什么功能?)。我知道代碼做了什么,因為我的代碼以另一種方式做同樣的事情,但我只是在非常return
感謝中詢問這個方括號!
uj5u.com熱心網友回復:
它沒有什么神奇之處。它是元組索引,簡單明了。
(None, [lng])創建一個包含兩個元素的元組,并[recur]根據recur是 0 還是 1 來獲取該元組的第一個或第二個元素。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/473274.html
上一篇:使用遞回查找最大元素
