Python3算法基础练习:编程100例( 26 ~ 30)
生活随笔
收集整理的這篇文章主要介紹了
Python3算法基础练习:编程100例( 26 ~ 30)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上期文章:
Python3算法基礎(chǔ)練習(xí):編程100例( 21~ 25)
目錄
- 26 遞歸求 20! 的階乘
- 27 字符串反轉(zhuǎn)
- 28 猜歲數(shù)
- 29 整數(shù)打印每一位數(shù)字
- 30 回文數(shù)
26 遞歸求 20! 的階乘
題目:遞歸求 20! 的階乘
代碼:
# 遞歸求 20!def factorial(n):fn = 0if n == 0:fn = 1else:fn = n * factorial(n - 1)return fnprint(factorial(20))for i in range(20):print("%d 的階乘是 %d" % (i + 1,factorial(i + 1)))結(jié)果:
27 字符串反轉(zhuǎn)
題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來
代碼:
# 利用遞歸函數(shù)調(diào)用方式,將所輸入的5個(gè)字符,以相反順序打印出來from sys import stdoutdef revertPrint(str,len):if len == 0:returnelse:stdout.write(str[len-1])stdout.write(' ')revertPrint(str,len - 1)str = input('請(qǐng)輸入 5 個(gè)字符:') l = len(str)stdout.write('反轉(zhuǎn)結(jié)果是: ') revertPrint(str,l)結(jié)果:
28 猜歲數(shù)
題目:有5個(gè)人坐在一起,問第五個(gè)人多少歲?他說比第4個(gè)人大2歲。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。問第三個(gè)人,又說比第2人大兩歲。問第2個(gè)人,說比第一個(gè)人大兩歲。最后問第一個(gè)人,他說是10歲。請(qǐng)問第五個(gè)人多大?
也是很簡(jiǎn)單的題
但是要求遞歸實(shí)現(xiàn)!!
代碼
# 請(qǐng)用遞歸實(shí)現(xiàn)def getAge(n):if n == 1:return 10 # 第一個(gè)人 10 歲else:answer = getAge(n - 1) + 2return answerprint (getAge(5))結(jié)果 18
29 整數(shù)打印每一位數(shù)字
題目:給一個(gè)正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字
分析: 使用 求余 求模運(yùn)算,正整數(shù),不需要正負(fù)號(hào)的判斷,不做處理!
代碼:
from sys import stdoutn = int(input("請(qǐng)輸入一個(gè)數(shù):\n")) l = len(str(n))print("是 %d 位數(shù):", l)stdout.write('從個(gè)位往后: ')for i in range(l):stdout.write(str(n % 10))stdout.write(' ')n = int(n / 10)結(jié)果:
30 回文數(shù)
題目:一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬位相同,十位與千位相同
代碼:
# 一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬位相同,十位與千位相同。from sys import stdoutn = int(input("請(qǐng)輸入一個(gè) 5 位數(shù):\n")) s = str(n)flag = Falseif len(s) != 5:stdout.write('不是 5 位數(shù) ') else:for i in range(len(s) // 2):if s[i] != s[-i - 1]:flag = Falsebreakelse:flag = Trueif (flag):print("是 一個(gè)回文數(shù)!" ) else:print("不是 一個(gè)回文數(shù)!" )結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的Python3算法基础练习:编程100例( 26 ~ 30)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二分大法| 求X的开方,结果一个公式解决
- 下一篇: Python3算法基础练习:编程100例