1000道Python编程题
生活随笔
收集整理的這篇文章主要介紹了
1000道Python编程题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、
分析
思維發散一點,對于給定的合理數字輸出都為類似圖中的菱形,我們探索一下上圖的特點: 組成圖形的元素個數先增后減,并且符合: 假設給定的數字為m,那么行數為2m+1,每一行的元素個數為:2n+1(n<m+1) 2(m-n-1)+1(2m+1>n>=m+1)對于存在的空格補齊使用字符串的center方法 def print_format_star(n):lenn = 2*n+1for i in range(n):result = '*'*2*i+'*'result = result.center(lenn,' ')print resultfor i in range(n+1):result = '*'*2*(n-i)+'*'result = result.center(lenn, ' ')print result#精簡一點的: def print_format_star(n):lenn = 2*n+1hr = n+1for i in range(lenn):if i < hr:result = '*' * 2 * i + '*'else:result = '*' * 2 * (lenn - i-1) + '*'result = result.center(lenn, ' ')print result10、
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數列的前20項之和。
from __future__ import division def cal_sum():fenzi = 2fenmu = 1lst = [2]for i in range(1,20):fenmu,fenzi= fenzi,fenmu+fenzilst.append(fenzi / fenmu)return reduce(lambda x,y:x+y,lst)11
題目:求1+2!+3!+…+20!的和。
def get_ret(n):tmp = 1lst = [1]for i in range(2,n+1):tmp = i*tmplst.append(tmp)return reduce(lambda x,y:x+y,lst)100
題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
def num_reverse(num):numLen = len(str(num))print numlenfor i in range(numLen):toPrint = num % 10num = (num - toPrint)/10print toPrint101
題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。
def who_remain(n):lst = range(1, n+1)while n > 2:lst.pop(2)before = lst[:2]lst = lst[2:]lst.extend(before)n = len(lst)return lst[-1]110
編寫一個函數,輸入n為偶數時,調用函數求1/2+1/4+…+1/n,當輸入n為奇數時,調用函數1/1+1/3+…+1/n
def sum_even_odd(n):ls = [1/i for i in range(n,0,-2)]return sum(ls)111
找到年齡最大的人,并輸出。
def get_oldest():import operatorperson = {"li": 18, "wang": 50, "zhang": 20, "sun": 22}name = max(person.iteritems(), key=operator.itemgetter(1))[0] # 獲取最大值的 keyage = max(person.values())return name,age1000
求0—7所能組成的奇數個數。
def get_odd():sum = 4s = 4for j in range(2, 9):print sumif j <= 2:s *= 7else:s *= 8sum += sprint 'sum = %d' % sumcookies
#字符串日期轉換為易讀的日期格式。 from dateutil import parser dt = parser.parse("Aug 28 2015 12:00AM") print dt總結
以上是生活随笔為你收集整理的1000道Python编程题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国近现代史纲要重点整理
- 下一篇: Win10 20H2系统任务管理器切换到