習(xí)題26-29

  • 使用遞歸法計(jì)算5!(階乘)

def factorial(n):
        if n==1 or n==0:
                return 1
        else:
                return(n*factorial(n-1))
print(factorial(5))
  • 利用遞歸函數(shù)調(diào)用方式,將所輸入的字符以倒序打印出來。
s = input('請輸入一段字符串:')
def r_str(n):
        if n==-1:
                return '\n程序終止'
        else:
                return s[n]+r_str(n-1)
n = len(s)-1
print(r_str(n))
************************************************************
請輸入一段字符串:ert54
45tre
  • 有5個(gè)人坐在一起,問第五個(gè)人多少歲?他說比第4個(gè)人大2歲。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。問第三個(gè)人,又說比第2人大兩歲。問第2個(gè)人,說比第一個(gè)人大兩歲。最后問第一個(gè)人,他說是10歲。請問第五個(gè)人多大?

def f(n):
        if n==1:
               return 10
        else:
                return f(n-1)+2
print(f(5))

return可以看作是一個(gè)變量

  • Python實(shí)現(xiàn)給一個(gè)不多于5位的正整數(shù),求它是幾位數(shù),逆序打印這個(gè)數(shù)字。

  1. 方法一
s = input('請輸入一個(gè)不多于五位的正整數(shù):')
print('這是一個(gè){}位數(shù)'.format(len(s)))
#進(jìn)行反轉(zhuǎn)
print('反轉(zhuǎn)輸出為{}'.format(''.join(reversed(s))))

reversed 函數(shù)返回一個(gè)反轉(zhuǎn)的迭代器
reversed(seq)
seq -- 要轉(zhuǎn)換的序列,可以是 tuple, string, list 或 range

  1. 方法二
s = input('請輸入一個(gè)不多于五位的正整數(shù):')
for i in range(-1,-(len(s)+1),-1):
        print(s[i],end='')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容