這篇文章主要講解了“python遞歸調(diào)用的用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python遞歸調(diào)用的用法”吧!
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站制作、做網(wǎng)站項(xiàng)目的能力。經(jīng)過十余年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。題目:
一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。
普通做法:
點(diǎn)擊(此處)折疊或打開
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = int(raw_input("請輸入一個數(shù)字:\n"))
x = str(a)
flag = True
for i in range(len(x)/2):
if x[i] != x[-i - 1]:
flag = False
break
if flag:
print "%d 是一個回文數(shù)!" % a
else:
print "%d 不是一個回文數(shù)!" % a
遞歸調(diào)用:
點(diǎn)擊(此處)折疊或打開
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
def f(a,b,c):
if (b == (c - 1)) or ( c - b == 2 and a[b] == a[c-1]):
return "yes"
elif a[b] == a[c-1]:
return f(a,b+1,c-1)
else:
return "no"
s = raw_input("please input a string:")
print f(s,0,len(s))
特別注意到的是,對于f(a,b+1,c-1)必須前面有return 返回結(jié)果,否則程序會返回None值。
這里跟平時理解不太一樣,因?yàn)檫f歸調(diào)用自己,最后肯定會是return “yes”或者 return “no”,所以當(dāng)時寫代碼的時候沒有使用return f(a,b+1,c-1)而是直接f(a,b+1,c-1) ,結(jié)果就是得不到正確結(jié)果,排錯了很久才發(fā)現(xiàn)問題。
感謝各位的閱讀,以上就是“python遞歸調(diào)用的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對python遞歸調(diào)用的用法這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!