日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 100例(上)

發布時間:2023/12/18 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 100例(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果你已經把基礎看完,可以嘗試一下看看以下例子了,如果不會做也不要緊,你要嘗試手動把所有的代碼都敲一邊。別嫌麻煩,因為都是從麻煩到簡單的。

實例1:

題目:有1、2、3、4個數字,能組成多少個相互不同且無重復的三位數?都是多少??

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去?掉不滿足條件的排列。
'''
for?i?in?range(1,5):
????for?j?in?range(1,5):
????????for?k?in?range(1,5):
????????????if?(i?!=?j)?and?(i?!=?k)?and?(k?!=?j):
????????????????print?i,?j,?k實例1

輸出結果:

1?2?3
1?2?4
1?3?2
1?3?4
1?4?2
1?4?3
2?1?3
2?1?4
2?3?1
2?3?4
2?4?1
2?4?3
3?1?2
3?1?4
3?2?1
3?2?4
3?4?1
3?4?2
4?1?2
4?1?3
4?2?1
4?2?3
4?3?1
4?3?2View Code

?實例2:

題目:企業發放的獎金根據利潤提成。利潤(I)低于或等于10萬元時,獎金可提成10%; 利潤高于10萬,低于20萬時,低于10萬的部分按10%提成,高于10萬部分,可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤,求應發放獎金總數?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:
0-10萬提成10%
10-20萬提成7.5%
20-40萬提成5%
40-60萬提成3%
60-100萬提成1.5%
100萬以上1%
思路:
請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
'''
'''
注:如果列表的順序相反,計算結果不一樣
'''
i?=?int(raw_input('input:'))
m?=?[1000000,600000,400000,200000,100000,0]
t?=?[0.01,0.015,0.03,0.05,0.075,0.1]
r?=?0
for?s?in?range(0,6):#循環列表元素數
????if?i>m[s]:#判斷輸入的元素
????????r+=(i-m[s])*t[s]
????????print?(i-m[s])*t[s]
????????i=m[s]
print?rView Code

?輸出結果:

輸入您的利潤:300000
5000.0
7500.0
10000.0
22500.0View Code

?實例3:

?題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該書是多少?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:判斷一個數加100是一個數的完全平方數,加168是另一個數的完全平方數。
思路:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,如果開方后的結果滿足如下條件,即是結果。請看具體分析:
'''
import?math
for?i?in?range(10000):
????x?=?int(math.sqrt(i?+?100))
????y?=?int(math.sqrt(i?+?168))
????if?(x?*?x?==?i?+?100)?and?(y?*?y?==?i?+?168):
????????print?iView Code

?輸出結果:

156View Code

?實例4:

題目:輸入某年某年某月某日,判斷這一天是這一年的第幾天?

!/usr/bin/env??python
#?--*--coding:utf-8?--*--
'''
需求:判斷輸入的日期是本年的第幾天
思路:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊?      情況,閏年且輸入月份大于3時需考慮多加一天:
'''
year?=?int(raw_input('year:\n'))
month?=?int(raw_input('month:\n'))
day?=?int(raw_input('day:\n'))

months?=?[0,31,59,90,120,151,181,212,243,273,304,334]
if?0?<=?month?<=?12:#判斷輸入的月份
????sum?=?months[month?-?1]
else:
????print?'data?error'
sum?+=?day
leap?=?0
if?(year?%?400?==?0)?or?((year?%?4?==?0)?and?(year?%?100?!=?0)):#判斷是平年還是潤年
????leap?=?1
if?(leap?==?1)?and?(month?>?2):
????sum?+=?1
print?'it?is?the?%dth?day.'?%?sumView Code

輸出結果:

year:
2015
month:
12
day:
13
it?is?the?347th?day.View Code

?實例5:

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:輸入三個整數,有小到大進行排序
思路:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
'''
m?=?[]
for?i?in?range(0,3):
????n?=?int(raw_input('input:'))
????m.append(n)
m.sort()#從小到大排序
#
m.sort(reverse?=?True)#從大到小排序
print?mView Code

?輸出結果:

input:3
input:7
input:1
[1,?3,?7]View Code

?實例6:

題目:斐波那契數列。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:斐波那契數列:0、1、1、2、3、5、8、13、21、34、……。輸出第100個斐波數
思路:根據數列規律可以得出下一個數值都是前兩個數值的和
'''
'''
方法一:
'''
def?fib(n):
????a,b?=?1,1
????for?i?in?range(n-1):
????????a,b?=?b,a+b
????return?a#返回第100個斐波那契數列
print?fib(100)
'''
方法二:
'''
def?fib(n):
????if?n?==?1?or?n?==?2:
????????return?1
????return?fib(n-1)+fib(n-2)
print?fib(100)#如果輸出的結果太大的話會消耗cpu建議小點
'''
方法三:
'''
def?fib(n):
????if?n?==?1:
????????return?[1]
????if?n?==?2:
????????return?[1,?1]
????fibs?=?[1,?1]
????for?i?in?range(2,?n):
????????fibs.append(fibs[-1]?+?fibs[-2])
????return?fibs

#?輸出前?10?個斐波那契數列
print?fib(100)View Code

?輸出結果:

354224848179261915075View Code

?實例7:

題目:將一個列表的數據復制到另一個列表中。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
將一個列表的數據復制到另一個列表里
'''
a?=?[1,2,3,4,5,6,7,8,9,0]
b?=?a[:]
print?bView Code

?輸出結果:

[1,?2,?3,?4,?5,?6,?7,?8,?9,?0]View Code

?實例8:

題目:輸出9*9乘法口訣表。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:99乘法口訣表
思路:分行與列考慮,共9行9列,i控制行,j控制列。
'''
for?i?in?range(1,10):
????for?j?in?range(1,10):
????????result?=?i?*?j
????????print?'%d?*?%d?=?%?-?3d'%?(i,j,result)#循環的兩個數相乘
????????print?''#兩個循環的間隔View Code

?輸出結果:

1?*?1?=??1?

1?*?2?=??2?

1?*?3?=??3?

1?*?4?=??4?

1?*?5?=??5?

1?*?6?=??6?

1?*?7?=??7?

1?*?8?=??8?

1?*?9?=??9?

2?*?1?=??2?

2?*?2?=??4?

2?*?3?=??6?

2?*?4?=??8?

2?*?5?=??10

2?*?6?=??12

2?*?7?=??14

2?*?8?=??16

2?*?9?=??18

3?*?1?=??3?

3?*?2?=??6?

3?*?3?=??9?

3?*?4?=??12

3?*?5?=??15

3?*?6?=??18

3?*?7?=??21

3?*?8?=??24

3?*?9?=??27

4?*?1?=??4?

4?*?2?=??8?

4?*?3?=??12

4?*?4?=??16

4?*?5?=??20

4?*?6?=??24

4?*?7?=??28

4?*?8?=??32

4?*?9?=??36

5?*?1?=??5?

5?*?2?=??10

5?*?3?=??15

5?*?4?=??20

5?*?5?=??25

5?*?6?=??30

5?*?7?=??35

5?*?8?=??40

5?*?9?=??45

6?*?1?=??6?

6?*?2?=??12

6?*?3?=??18

6?*?4?=??24

6?*?5?=??30

6?*?6?=??36

6?*?7?=??42

6?*?8?=??48

6?*?9?=??54

7?*?1?=??7?

7?*?2?=??14

7?*?3?=??21

7?*?4?=??28

7?*?5?=??35

7?*?6?=??42

7?*?7?=??49

7?*?8?=??56

7?*?9?=??63

8?*?1?=??8?

8?*?2?=??16

8?*?3?=??24

8?*?4?=??32

8?*?5?=??40

8?*?6?=??48

8?*?7?=??56

8?*?8?=??64

8?*?9?=??72

9?*?1?=??9?

9?*?2?=??18

9?*?3?=??27

9?*?4?=??36

9?*?5?=??45

9?*?6?=??54

9?*?7?=??63

9?*?8?=??72

9?*?9?=??81View Code

實例9:

題目:暫停一秒輸出。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
暫停以秒輸入
'''
import?time
myD?=?{1:'a',?2:'b',?3:'c',?4:'d',?5:'e',?6:'f',?7:'g'}
for?key,value?in?dict.items(myD):
????print?key,value
????time.sleep(1)#暫停一秒View Code

?輸出結果:

1?a
2?b
3?c
4?d
5?e
6?f
7?gView Code

?實例10:

題目:暫停一秒輸入。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
暫停一秒輸出
'''
import?time
print?time.strftime('%Y-%m-%d?%H:%M:%S',time.localtime(time.time()))
time.sleep(1)
print?time.strftime('%Y-%m-%d?%H:%M:%S',time.localtime(time.time()))View Code

?輸出結果:

2016-01-10?23:43:17
2016-01-10?23:43:18View Code

?實例11:

?題目:古典問題,有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:一對兔子,從出生后第三個月起每個月都會生出一對兔子,小兔子長到三個月又生一對小兔子。假如兔子不死,問每個月兔子總數。
思路:兔子的規律為數列1,1,2,3,5,8,13,21....
'''
f1?=?1
f2?=2
for?i?in?range(1,21):
????print?'%12d?%12d'?%?(f1,f2)
????if?(i?%?2)?==?0:
????????print?''
????f1?=?f1?+?f2
????f2?=?f1?+?f2View Code

?輸出結果:

1????????????2
???????????3????????????5

???????????8???????????13
??????????21???????????34

??????????55???????????89
?????????144??????????233

?????????377??????????610
?????????987?????????1597

????????2584?????????4181
????????6765????????10946

???????17711????????28657
???????46368????????75025

??????121393???????196418
??????317811???????514229

??????832040??????1346269
?????2178309??????3524578

?????5702887??????9227465
????14930352?????24157817

????39088169?????63245986
???102334155????165580141View Code

?實例12:

題目:判斷101-200之間有多少個素數,并輸出所有素數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:判斷101-200之間的所有素數,并輸出
思路:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
'''
h?=?0
leap?=?1
from?math?import?sqrt
from?sys?import?stdout
for?m?in?range(0,201):
????k?=?int(sqrt(m?+?1))
????for?i?in?range(2,k?+?1):
????????if?m?%?i?==?0:
????????????leap?=?0
????????????break
????if?leap?==?1:
????????print?'%-4d'?%?m
????????h?+=?1
????????if?h?%?10?==?0:
????????????print?''
????leap?=?1
print?'The?total?is?%d'?%?hView Code

?輸出結果:

0???
1???
2???
3???
5???
7???
11??
13??
17??
19??

23??
29??
31??
37??
41??
43??
47??
53??
59??
61??

67??
71??
73??
79??
83??
89??
97??
101?
103?
107?

109?
113?
127?
131?
137?
139?
149?
151?
157?
163?

167?
173?
179?
181?
191?
193?
197?
199?
The?total?is?48View Code

?實例13:

題目:打印出所有的“水印花數”,所謂“水印花數”是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個“水印花數”,因為153=1的三次方+5的三次方+3的三次方。?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:打印所有“水印數”,例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方
思路:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
'''
for?n?in?range(100,1000):
????i?=?n?/?100?#百位數
????j?=?n?/?10?%?10?#十位數
????k?=?n?%?10??#個位數
????if?n?==?i?**?3?+?j?**?3?+?k?**?3:
????????print?nView Code

?輸出結果:

153
370
371
407View Code

?實例14:

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5.

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
思路:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
????(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。
????(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n,重復執行第一步。
????(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
'''
from?sys?import?stdout
n?=?int(raw_input("input?number:"))
print?"n?=?%d"?%?n
for?i?in?range(2,n?+?1):
????while?n?!=?i:
????????if?n?%?i?==?0:
????????????stdout.write(str(i))
????????????stdout.write("*")
????????????n?=?n?/?i
????????else:
????????????break
print?"%d"?%?nView Code

?輸出結果:

input?number:100
n?=?100
2*2*5*5View Code

?實例15:

題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-80分之間的用B表示,60分以下的用C表示。?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:利用條件運算符的嵌套來完成成績表。
思路:(a>b)?a:b這是條件運算符的基本例子。
'''
score?=?int(raw_input('input?score:'))
if?score?>=?90:
????grade?=?'A'
elif?score?>=?80:
????grade?=?'D'
elif?score?>=?70:
????grade?=?'C'
elif?score?>=?60:
????grade?=?'D'
else:
????grade?=?'E'
print?'%d?belongs?to?%s'?%?(score,grade)View Code

?輸出結果:

input?score:26
26?belongs?to?EView Code

實例16:

題目:輸出指定格式的日期。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
輸入指定格式的日期
'''
import?datetime
if?__name__?==?'__main__':#輸出今日日期,格式為dd/mm/yyyy.更改選項可以查看strftime()方法。
????print(datetime.date.today().strftime('%d/%m/%Y'))
????#創建日期對象
????miyazakiBirthDate?=?datetime.date(1941,?1,?5)
????print(miyazakiBirthDate.strftime('%d/%m/%Y'))
????#日期算術運算
????miyazakiBirthDextDate?=?miyazakiBirthDate?+?datetime.timedelta(days=1)#加一天
????print(miyazakiBirthDextDate.strftime('%d/%m/%Y'))
????#日期替換
????miyazakiFirstBirthday?=?miyazakiBirthDate.replace(year=miyazakiBirthDate.year?+?1)#加一年
????print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))View Code

?輸出結果:

11/01/2016
05/01/1941
06/01/1941
05/01/1942View Code

?實例17:

題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:輸入一行字符,分別統計出其中英文字母、空格,數字和其他字符的個數。
思路:利用while語句,條件為輸入的字符
'''
import?string
s?=?raw_input('input?a?string:')
letters?=?0
space?=?0
digit?=?0
others?=?0
for?c?in?s:
????if?c.isalpha():
????????letters?+=?1
????elif?c.isspace():
????????space?+=?1
????elif?c.isdigit():
????????digit?+=?1
????else:
????????others?+=?1
print('char?=?%d,?space?=?%d,digit?=?%d,others?=?%d'?%?(letters,space,digit,others))View Code

?輸出結果:

input?a?string:sffq265233!!0aff??dd?g
char?=?10,?space?=?3,digit?=?7,others?=?2View Code

?實例18:

題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+222...2(此時共有5個數相加),幾個數相加有鍵盤控制。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。
思路:先計算出每一項的值。
'''
Tn?=?0
Sn?=?[]
n?=?int(raw_input('n?=?:'))
a?=?int(raw_input('a?=?:'))
for?count?in?range(n):#先循環計算每一項的值
????Tn?=?Tn?+?a
????a?=?a?*?10
????Sn.append(Tn)
????print?Tn
Sn?=?reduce(lambda?x,y?:?x?+?y,Sn)#在計算和
print?SnView Code

?輸出結果:

n?=?:9
a?=?:6
6
66
666
6666
66666
666666
6666666
66666666
666666666
740740734View Code

?實例19:

?題目:一個數如果恰好等于它的因子之和,這個數就稱為“殼數”。例如6=1+2+3,編程找出1000以內的所有完數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:找出1000以內的完數,完數就是一個數如果恰好等于它的因子之和,例如:6=1+2+3
思路:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
????(1)如果這個質數各個位之和恰等于n,則說明分解質因數的過程已經結束,打印出即可。
'''
from?sys?import?stdout
for?j?in?range(2,1001):
????k?=?[]
????n?=?-1
????s?=?j
????for?i?in?range(1,j):
????????if?j?%?i?==?0:
????????????n?+=?1
????????????s?-=?i
????????????k.append(i)
????if?s?==?0:
????????print?j
????????for?i?in?range(n):
????????????stdout.write(str(k[i]))
????????print?k[n]View Code

?輸出結果:

6
123
28
124714
496
1248163162124248View Code

?實例20:

題目:一個球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高??

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高?
'''
Sn?=?100.0
Hn?=?Sn?/?2
for?n?in?range(2,11):
????Sn?+=?2?*?Hn
????Hn?/=?2
print?'Total?of?road?is?%f'?%?Sn
print?'The?tenth?is?%f?meter'?%?HnView Code

?輸出結果:

Total?of?road?is?299.609375
The?tenth?is?0.097656?meterView Code

?實例21:

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

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
思路:采用逆向思維的方法,從后在往前推斷
'''
x2?=?1
for?day?in?range(9,0,-1):
????x1?=?(x2?+?1)?*?2
????x2?=?x1
print?x1View Code

?輸出結果:

1534View Code

?實例22:

題目:打印出如下圖案(菱形) :

*

? ? ? ***

? ? ******

? ? ? ***

*?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:打印出如下圖案(菱形):
???*
??********************
??***
???*
思路:先把圖形分成兩部分來看待,前四行一個規律,后三行一個規律,利用雙重for循環,第一層控制行,第二層控制列。
'''
from?sys?import?stdout
for?i?in?range(4):
????for?j?in?range(2?-?i?+?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('*')
????printView Code

輸出結果:

*
??***
?*****
*******
?*****
??***
???*View Code

?實例23:

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

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
思路:根據分子和分母的變化可以發現一些規律。(第三個數的分子和分母,是前兩個分子和分母之和)
'''
'''
方法一:
'''
a?=?2.0
b?=?1.0
s?=?0
for?n?in?range(1,21):
????s?+=?a?/?b
????t?=?a
????a?=?a?+?b
????b?=?t
print?s
'''
方法二:
'''
a?=?2.0
b?=?1.0
s?=?0.0
for?n?in?range(1,21):
????s?+=?a?/?b
????b,a?=?a?,?a?+?b
print?s

s?=?0.0
for?n?in?range(1,21):
????s?+=?a?/?b
????b,a?=?a?,?a?+?b
print?s
'''
方法三:
'''
a?=?2.0
b?=?1.0
l?=?[]
for?n?in?range(1,21):
????b,a?=?a,a?+?b
????l.append(a?/?b)
print?reduce(lambda?x,y:?x?+?y,l)View Code

?輸出結果:

32.6602607986
32.6602607986
32.360679776
32.2782947888View Code

?實例24:

?題目:兩個兵乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙對為x,y,z三人。以抽簽決定比賽名單。有向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程找到三隊賽手的名單。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
思路:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
'''
for?i?in?range(ord('x'),ord('z')?+?1):
????for?j?in?range(ord('x'),ord('z')?+?1):
????????if?i?!=?j:
????????????for?k?in?range(ord('x'),ord('z')?+?1):
????????????????if?(i?!=?k)?and?(j?!=?k):
????????????????????if?(i?!=?ord('x'))?and?(k?!=?ord('x'))?and?(k?!=?ord('z')):
????????????????????????print?'order?is?a?--?%s\t?b?--?%s\tc?--?%s'?%?(chr(i),chr(j),chr(k))View Code

?輸出結果:

order?is?a?--?z?????b?--?x????c?--?yView Code

?實例25:

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

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:求1+2!+3!+...+20!的和。
思路:此程序只是把累加變成了累乘。
'''
'''
方法一:
'''
n?=?0
s?=?0
t?=?1
for?n?in?range(1,21):
????t?*=?n
????s?+=?t
print?'1!?+?2!?+?3!?+?...?+?20!?=?%d'?%?s
''''
方法二:
'''
s?=?0
l?=?range(1,21)
def?op(x):
????r?=?1
????for?i?in?range(1,x?+?1):
????????r?*=?i
????return?r
s?=?sum(map(op,l))
print?'1!?+?2!?+?3!?+?...?+?20!?=?%d'?%?sView Code

輸出結果:

1!?+?2!?+?3!?+?...?+?20!?=?2561327494111820313
1!?+?2!?+?3!?+?...?+?20!?=?2561327494111820313View Code

?實例26:

題目:利用遞歸方法求5!。?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:利用遞歸方法求5!。
思路:遞歸公式:fn?=?fn_1*4!
'''
def?fact(j):
????sum?=?0
????if?j?==?0:
????????sum?=?1
????else:
????????sum?=?j?*?fact(j?-?1)
????return?sum
for?i?in?range(5):
????print?'%d!?=?%d'?%?(i,fact(i))View Code

?輸出結果:

0!?=?1
1!?=?1
2!?=?2
3!?=?6
4!?=?24View Code

?實例27:

題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。
'''
def?output(s,l):
????if?l?==?0:
????????return
????print?(s[l-1])
????output(s,l-1)
s?=?raw_input('Input?a?string:')
l?=?len(s)
output(s,l)View Code

?輸出結果:

Input?a?string:123544
4
4
5
3
2
1View Code

?實例28:

?題目:有5個人坐在一起,問第五個人多少歲?他說比第四個人大兩歲。問第四個人歲數,他說比第三個人大兩歲。問第三個人,又說比第二個人大兩歲。問第二個人,說比第二個人大兩歲。最后問第一個,他說是十歲。請問第五個人多大?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?
思路:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數,需知道第四人的歲數,依次類推,推到第一人(10歲),再往回推。
'''
def?age(n):
????if?n?==?1:
????????c?=?10
????else:
????????c?=?age(n-1)?+?2
????return?c
print?age(5)View Code

?輸出結果:

18View Code

?實例29:

題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
思路:學會分解出每一位數。
'''
x?=?int(raw_input("input?a?number:"))
a?=?x?/?10000
b?=?x?%?10000?/?1000
c?=?x?%?1000?/?100
d?=?x?%?100?/?10
e?=?x?%?10

if?a?!=?0:
????print?"there?are?5?",e,d,c,b,a
elif?b?!=?0:
????print?"there?are?4?",d,c,b,a
elif?c?!=?0:
????print?"there?are?3?",e,d,c
elif?d?!=?0:
????print?"there?are?2?",e,d
else:
????print?"there?are?1",eView Code

?輸出結果:

input?a?number:56819
there?are?5??9?1?8?6?5View Code

?實例30:

?題目:一個五位數,判斷他是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。
'''
#?x?=?int(raw_input('input?a?number:'))
#
?x?=?str(x)
#
?for?i?in?range(len(x)/2):
#
?????if?x[i]?!=?x[-i?-?1]:
#
?????????print?'這不是一個回數'
#
?????????break
#
?print?'這是一個回數'
x?=?int(raw_input("input?a?number:\n"))
x?=?str(x)
for?i?in?range(len(x)/2):
????if?x[i]?!=?x[-i?-?1]:
????????print?'這不是一個回文數'
????????break
????print?'這是一個回文數'View Code

?輸出結果:

input?a?number:
12321
這是一個回文數View Code

?實例31:

題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。
思路:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。。
'''
letter?=?raw_input("please?input:")
#while?letter??!=?'Y':
if?letter?==?'S':
????print?('please?input?second?letter:')
????letter?=?raw_input("please?input:")
????if?letter?==?'a':
????????print?('Saturday')
????elif?letter??==?'u':
????????print?('Sunday')
????else:
????????print?('data?error')

elif?letter?==?'F':
????print?('Friday')

elif?letter?==?'M':
????print?('Monday')

elif?letter?==?'T':
????print?('please?input?second?letter')
????letter?=?raw_input("please?input:")

????if?letter??==?'u':
????????print?('Tuesday')
????elif?letter??==?'h':
????????print?('Thursday')
????else:
????????print?('data?error')

elif?letter?==?'W':
????print?('Wednesday')
else:
????print?('data?error')View Code

?輸出結果:

please?input:S
please?input?second?letter:
please?input:a
SaturdayView Code

?實例32:

?題目:按相反的順序輸出列表的值。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:按相反的順序輸出列表的值。
'''
a?=?['one',?'two',?'three']
for?i?in?a[::-1]:
????print?iView Code

?輸出結果:

three
two
oneView Code

?實例33:

題目:按逗號分隔列表。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:按逗號分隔列表。
'''
L?=?[1,2,3,4,5]
s1?=?','.join(str(n)?for?n?in?L)
print?s1View Code

?輸出結果:

1,2,3,4,5View Code

?實例34:

題目:練習函數調用。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:練習函數調用。
'''
def?hello_world():
????print?'hello?world'

def?three_hellos():
????for?i?in?range(3):
????????hello_world()
if?__name__?==?'__main__':
????three_hellos()View Code

?輸出結果:

hello?world
hello?world
hello?worldView Code

?實例35:

題目:文本顏色設置。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:文本顏色設置。
'''
class?bcolors:
????HEADER?=?'\033[95m'
????OKBLUE?=?'\033[94m'
????OKGREEN?=?'\033[92m'
????WARNING?=?'\033[93m'
????FAIL?=?'\033[91m'
????ENDC?=?'\033[0m'
????BOLD?=?'\033[1m'
????UNDERLINE?=?'\033[4m'
print?bcolors.WARNING?+?"警告的顏色字體?"?+?bcolors.ENDCView Code

?輸出結果:

警告的顏色字體?View Code

?實例36:

?題目:求100之內的素數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:求100之內的素數。
'''
from?math?import?sqrt
if?__name__?==?'__main__':
????N?=?100
????a?=?range(0,N)
????for?i?in?range(2,int(sqrt(N))):
????????for?j?in?range(i?+?1,N):
????????????if?(a[i]?!=?0)?and?(a[j]?!=?0):
????????????????if?a[j]?%?a[i]?==?0:
????????????????????a[j]?=?0
????print
????for?i?in?range(2,N):
????????if?a[i]?!=?0:
????????????print?"%5d"?%?a[i]
????????????if?(i?-?2)?%?10?==?0:
????????????????printView Code

?輸出結果:

2

????3
????5
????7
???11
???13
???17
???19
???23
???29
???31
???37
???41
???43
???47
???53
???59
???61
???67
???71
???73
???79
???83
???89
???97View Code

?實例37:

題目:對100個數進行排序。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:對10個數進行排序。
思路:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,下次類推,即用第二個元素與后8個進行比較,并進行交換。
'''
if?__name__?==?"__main__":
????N?=?10
????#?input?data
????print?'please?input?ten?num:'
????l?=?[]
????for?i?in?range(N):
????????l.append(int(raw_input('input?a?number:')))
????print
????for?i?in?range(N):
????????print?l[i]
????print

????#?sort?ten?num
????for?i?in?range(N?-?1):
????????min?=?i
????????for?j?in?range(i?+?1,N):
????????????if?l[min]?>?l[j]:min?=?j
????????l[i],l[min]?=?l[min],l[i]
????print?'after?sorted'
????for?i?in?range(N):
????????print?l[i]View Code

輸出結果:

please?input?ten?num:
input?a?number:5
input?a?number:8
input?a?number:46
input?a?number:256
input?a?number:1
input?a?number:8
input?a?number:9
input?a?number:4
input?a?number:569
input?a?number:79

5
8
46
256
1
8
9
4
569
79

after?sorted
1
4
5
8
8
9
46
79
256
569View Code

?實例38:

?題目:求一個3*3的矩陣對角線元素之和。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:求一個3*3矩陣對角線元素之和。
思路:利用雙重for循環控制輸入二維數組,再將a[i][i]累加后輸出。
'''
if?__name__?==?'__main__':
????a?=?[]
????sum?=?0.0
????for?i?in?range(3):
????????a.append([])
????????for?j?in?range(3):
????????????a[i].append(float(raw_input("input?num:\n")))
????for?i?in?range(3):
????????sum?+=?a[i][i]
????print?sumView Code

?輸出結果:

input?num:
79
input?num:
46
input?num:
86
input?num:
21
input?num:
56
input?num:
32
input?num:
89
input?num:
45
input?num:
89
224.0View Code

?實例39:

題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
思路:首先判斷此數是否大于最后一個數,然后再考慮插入中間的數的情況,插入后此元素之后的數,依次后移一個位置。
'''
if?__name__?==?'__main__':
????#?方法一
????a?=?[1,4,6,9,13,16,19,28,40,100,0]
????print?'original?list?is:'
????for?i?in?range(len(a)):
????????print?a[i]
????number?=?int(raw_input("insert?a?new?number:\n"))
????end?=?a[9]
????if?number?>?end:
????????a[10]?=?number
????else:
????????for?i?in?range(10):
????????????if?a[i]?>?number:
????????????????temp1?=?a[i]
????????????????a[i]?=?number
????????????????for?j?in?range(i?+?1,11):
????????????????????temp2?=?a[j]
????????????????????a[j]?=?temp1
????????????????????temp1?=?temp2
????????????????break
????for?i?in?range(11):
????????print?a[i]View Code

輸出結果:

1
4
6
9
13
16
19
28
40
100
0View Code

?實例40:

題目:將一個數組逆序輸出。?

if?__name__?==?'__main__':
????a?=?[9,6,5,4,1]
????N?=?len(a)
????print?a
????for?i?in?range(len(a)?/?2):
????????a[i],a[N?-?i?-?1]?=?a[N?-?i?-?1],a[i]
????print?aView Code

?輸出結果:

[9,?6,?5,?4,?1]
[1,?4,?5,?6,?9]View Code

?實例41:

?題目:模仿靜態變量的用法。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:模仿靜態變量的用法。
'''
def?varfunc():
????var?=?0
????print?'var?=?%d'?%?var
????var?+=?1
if?__name__?==?'__main__':
????for?i?in?range(3):
????????varfunc()

#?類的屬性
#
?作為類的一個屬性吧
class?Static:
????StaticVar?=?5
????def?varfunc(self):
????????self.StaticVar?+=?1
????????print?self.StaticVar

print?Static.StaticVar
a?=?Static()
for?i?in?range(3):
????a.varfunc()View Code

?輸出結果:

var?=?0
var?=?0
var?=?0
5
6
7
8View Code

?實例42:

題目:學習使用auto定義變量的用法。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:學習使用auto定義變量的用法。
思路:沒有auto關鍵字,使用變量作用域來舉例吧。
'''
num?=?2
def?autofunc():
????num?=?1
????print?'internal?block?num?=?%d'?%?num
????num?+=?1
for?i?in?range(3):
????print?'The?num?=?%d'?%?num
????num?+=?1
????autofunc()View Code

?輸出結果:

The?num?=?2
internal?block?num?=?1
The?num?=?3
internal?block?num?=?1
The?num?=?4
internal?block?num?=?1View Code

?實例43:

題目:模仿靜態變量(static)另一案例。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:模仿靜態變量(static)另一案例。
思路:演示一個python作用域使用方法
'''
class?Num:
????nNum?=?1
????def?inc(self):
????????self.nNum?+=?1
????????print?'nNum?=?%d'?%?self.nNum

if?__name__?==?'__main__':
????nNum?=?2
????inst?=?Num()
????for?i?in?range(3):
????????nNum?+=?1
????????print?'The?num?=?%d'?%?nNum
????????inst.inc()View Code

?輸出結果:

The?num?=?3
nNum?=?2
The?num?=?4
nNum?=?3
The?num?=?5
nNum?=?4View Code

?實例44:

題目:統計1到100之和。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:統計?1?到?100?之和。
'''
tmp?=?0
for?i?in?range(1,101):
????tmp?+=?i
print?'The?sum?is?%d'?%?tmpView Code

?輸出結果:

The?sum?is?5050View Code

?實例45:

題目:求輸入數字的平方,如果平方運算后小于50則退出。?

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:求輸入數字的平方,如果平方運算后小于?50?則退出。
'''
TRUE?=?1
FALSE?=?0
def?SQ(x):
????return?x?*?x
print?'如果輸入的數字小于?50,程序將停止運行。'
again?=?1
while?again:
????num?=?int(raw_input('Please?input?number'))
????print?'運算結果為?%d'?%?(SQ(num))
????if?num?>=?50:
????????again?=?TRUE
????else:
????????again?=?FALSEView Code

?輸出結果:

如果輸入的數字小于?50,程序將停止運行。
Please?input?number300
運算結果為?90000
Please?input?number45
運算結果為?2025View Code

?實例46:

?題目:連個變量值互換。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:連個變量值互換。
'''
def?exchange(a,b):
????a,b?=?b,a
????return?(a,b)

if?__name__?==?'__main__':
????x?=?10
????y?=?20
????print?'x?=?%d,y?=?%d'?%?(x,y)
????x,y?=?exchange(x,y)
????print?'x?=?%d,y?=?%d'?%?(x,y)View Code

?輸出結果:

x?=?10,y?=?20
x?=?20,y?=?10View Code

?實例47:

?題目:數字比較。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:數字比較。
'''
if?__name__?==?'__main__':
????i?=?10
????j?=?20
????if?i?>?j:
????????print?'%d?大于?%d'?%?(i,j)
????elif?i?==?j:
????????print?'%d?等于?%d'?%?(i,j)
????elif?i?<?j:
????????print?'%d?小于?%d'?%?(i,j)
????else:
????????print?'未知'View Code

?輸出結果:

10?小于?20View Code

?實例48:

?題目:使用lambda來創建匿名函數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:使用lambda來創建匿名函數。
'''
MAXIMUM?=?lambda?x,y?:??(x?>?y)?*?x?+?(x?<?y)?*?y
MINIMUM?=?lambda?x,y?:??(x?>?y)?*?y?+?(x?<?y)?*?x

if?__name__?==?'__main__':
????a?=?10
????b?=?20
????print?'The?largar?one?is?%d'?%?MAXIMUM(a,b)
????print?'The?lower?one?is?%d'?%?MINIMUM(a,b)View Code

?輸出結果:

The?largar?one?is?20
The?lower?one?is?10View Code

?實例49:

題目:輸出一個隨機數。

#!/usr/bin/env??python
#
?--*--coding:utf-8?--*--
'''
需求:輸出一個隨機數。
思路:使用?random?模塊。
'''
import?random

#生成?10?到?20?之間的隨機數
print?random.uniform(10,?20)View Code

?輸出結果:

14.6599912675View Code


轉載于:https://www.cnblogs.com/wulaoer/p/5119944.html

總結

以上是生活随笔為你收集整理的Python 100例(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。