Python3算法基础练习:编程100例( 21~ 25)
生活随笔
收集整理的這篇文章主要介紹了
Python3算法基础练习:编程100例( 21~ 25)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
往期練習:
Python3算法基礎練習:編程100例(1~5)
Python3算法基礎練習:編程100例(6 ~ 10)
Python3算法基礎練習:編程100例(11 ~ 15)
Python3算法基礎練習:編程100例(16 ~ 20)
目錄
- 21 猴子吃桃問題
- 22.乒乓比賽
- 23.打印菱形
- 24 序列求和
- 25 階乘求和
21 猴子吃桃問題
題目:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少
分析:從后往前推
代碼:
x2 = 1 for day in range(9,0,-1):x1 = (x2 + 1) * 2x2 = x1print (x1)結果:
22.乒乓比賽
題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
分析:列出所有可能性,中間去除不可能的情況,結果就是滿足要求的了
代碼:
team_2 = ['x','y','z'] # 核心 避免重復參賽 for a in team_2:for b in team_2:# 避免重復參賽if a != b:for c in team_2:if a != c and b != c:if a != 'x' and c != 'x' and c != 'z':print('a的對手是%s\nb的對手是%s\nc的對手是%s' % (a, b, c))結果:
23.打印菱形
題目:
沒有難度的一題,前四行一個規律,后三行一個規律,利用雙重for循環
代碼:
from sys import stdout for i in range(4): # 前四行for j in range(2 - i + 1): # 第一行為例 i=0 先打印 3空格 再打印 1個 *stdout.write(' ')for k in range(2 * i + 1):stdout.write('*')print('')for i in range(3): # 后三行for j in range(i + 1):stdout.write(' ')for k in range(4 - 2 * i + 1):stdout.write('*')print('')結果:
24 序列求和
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數列的前20項之和
代碼:
a = 2 b = 1 s = 0 for n in range(1,21):s += a / bt = aa = a + bb = t print (s)結果:
25 階乘求和
題目:求1+2!+3!+…+20!的和
代碼:
# 求1+2!+3!+...+20!的和n = 0 s = 0 t = 1 for n in range(1,21):t *= ns += tprint (s)結果:
總結
以上是生活随笔為你收集整理的Python3算法基础练习:编程100例( 21~ 25)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络(二)计算机网络 体系结构和O
- 下一篇: 12个python超强学习网站!加pyt