21 Python100例基礎練習(5)

2021-09-20 20:33:34 字數 2256 閱讀 5411

例21

題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了乙個第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了。求第一天共摘了多少。

方法:

x = 1

for day in range(1,10):

x = (x+1)*2

print(x)

例22

題目:兩個桌球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請程式設計序找出三隊賽手的名單。

方法1:

for a in ["x","y","z"]:

for b in ["x","y","z"]:

for c in ["x","y","z"]:

if a!= b and b!=c and c !=a and a!="x"

and c != "x"

and c != "z":

print("對手名單:\n a--%s,b--%s,c--%s"%(a,b,c))

方法2:

程式分析:a不等於x,c不等於x,z,所以a=z,b=x,c=y

m=["a","b","c"]

n=for i in range(3):

if m[i] != "a"

and m[i] !="c": ##m[0] a !=a and a!=c 不成立,b 成立,故與x比

n.insert(i,"x")

elif m[i] != "c": # a 不等於 c ,成立

n.insert(i,"z")

else:

n.insert(i,"y") #insert插入資料

print(m,"\n",n)

例23

題目:列印菱形圖案**

方法1:運用函式

def

print_diamond

(n):

star = ['*']

for index in range(0,n):

print (''.format(star[index]))

star1 =star[index] + '**'

for i in range(n-2,-1,-1):

print( ''.format(star[i]))

if __name__ == '__main__':

print_diamond(4)

方法2:雙重for迴圈

for i in range(1,5):

print(" " * (4-i),end="")

for j in range(1,2*i):

print("*",end="")

print()

for i in range(3,0,-1):

print(" " * (4-i),end="")

for k in range(1,2*i):

print("*",end="")

print()

例24

題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。

程式分析:注意數列中分子分母的規律

方法1:

x=2

y=1list=

for n in range(20):

x,y=x+y,x ##n=1時,x=3,y=2

print("=".format(eval("+".join(list)),"+".join(list)))

方法2:

a=2

b=1c=0

for i in range(1,21):

c +=a/b

a,b=a+b,a

print(c)

例25

題目:求1+2!+3!+...+20!的和。

分析:累加變成累乘

方法:

s = 1

t =

for i in range(1,21):

s *= i

print(t)

print(sum(t)-1)

注:

Python基礎教程100例 練習1

學習python有一段時間了,從今天開始將python基礎教程100例中的習題完成,執行環境 python 2.7 例1 題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?題目分析 組成三位數,且三位數不重複,於是考慮用排除法,用條件語句將不滿足要求的數字除去 for...

python網路程式設計100例 python網路程式設計

一.urllib模組介紹 import urllib 先看個小例子,列印結果為乙個socket連線 示例一 import urllib url r fp urllib.urlopen url print fp 1.基本操作 urlopen返回物件提供方法 read readline readline...

python練習100例 Python練習100例

filename cnt 0 count the sum of result fori inrange 1,5 forj inrange 1,5 fork inrange 1,5 ifi j andi k andj k print i 100 j 10 k cnt 1 print cnt 程式 題目...