国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 使用遞歸實(shí)現(xiàn)打印一個(gè)數(shù)字的每一位示例

瀏覽:2日期:2022-08-05 17:40:45

我就廢話不多說(shuō)了,直接上代碼吧!

def func(n): # 從高分為開始打印 lengh = len(str(n)) # 確定數(shù)字的長(zhǎng)度 x = 10**(lengh-1) # 確定數(shù)字的分位 if n < 10: print(n) else: print(int(n/x)) func(n % x) # 對(duì)n的x分位取余得到def func1(n): # 從低分位開始打印 if n < 10: print(n) else: print(n % 10) func(int(n / 10))

上述兇高分位打印的時(shí)候,會(huì)出現(xiàn)0無(wú)法打出的現(xiàn)象,現(xiàn)在加一個(gè)判斷做一個(gè)優(yōu)化

def f(n): num_len = len(str(n)) if n < 10: print(n) # return n else: print(int(n / (10**(num_len-1))), end=’ ’) mod = n % (10**(num_len-1)) dif_value = num_len - len(str(mod)) if dif_value > 1: for i in range(1, dif_value):print(0, end=’ ’) f(mod)f(200400900000)

當(dāng)然也有同學(xué)有跟簡(jiǎn)單的方法來(lái)寫,但是需要一定的理解力,就是把低分為的實(shí)現(xiàn)方法打印和調(diào)用換一個(gè)位置變可實(shí)現(xiàn)

def func1(n): # 從低分位開始打印 if n < 10: print(n) else: func(int(n / 10)) print(n % 10)

func(int(n / 10))這一步呢其實(shí)是先一直在調(diào)用,并沒有實(shí)現(xiàn)打印,等調(diào)用到最后一位的時(shí)候,就開始回溯,沒回溯一步,便打印一位數(shù)數(shù)來(lái)

補(bǔ)充拓展:使用python遞歸打印楊輝三角

啥也不說(shuō)了,上代碼吧

# 楊輝三角 # 1# 1 1# 1 2 1#1 3 3 1# ........ #傳入上一行,生成下一行def next_line(lst): newline = [1] for x in range(len(lst) - 1): newline.append(lst[x] + lst[x + 1]) newline.append(1) return newline #定義二位數(shù)組,存放;如果為了節(jié)約空間,也可以不用放二維數(shù)組def yanglst(n): yanghui = [] L = [1] for x in range(n): yanghui.append(L) L = next_line(L) return yanghui for I in yanglst(20): print(I)

以上這篇python 使用遞歸實(shí)現(xiàn)打印一個(gè)數(shù)字的每一位示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 来宾市| 淄博市| 虞城县| 昌吉市| 云浮市| 永和县| 大悟县| 钟山县| 承德县| 宜春市| 桐城市| 武隆县| 公主岭市| 绥阳县| 修武县| 东源县| 和林格尔县| 青阳县| 东乡| 茌平县| 崇仁县| 石泉县| 涪陵区| 金湖县| 沙洋县| 宜春市| 饶平县| 米易县| 望谟县| 西贡区| 外汇| 万全县| 浦县| 色达县| 庐江县| 新疆| 镇坪县| 德令哈市| 湘乡市| 岢岚县| 兴文县|