10個Python練手小程式

2021-09-20 04:47:58 字數 4658 閱讀 6046

【程式1】

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

1.程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去

掉不滿足條件的排列。

2.程式源**:

for i in range(1,5):

for j in range(1,5):

for k in range(1,5):

if( i != k ) and (i != j) and (j != k):

print (i,j,k)

新老阿里雲賬戶均可領取!可用於購買阿里雲伺服器ecs、雲資料庫rds、虛擬主機、安騎士、ddos高防ip等100多雲計算產品。 代金券自領取之日起,有效期是30天,請及時使用,過30天後還可以重新領取。

【程式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%提成,從鍵盤輸入當月利潤i,求應發放獎金總數?

1.程式分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。      

2.程式源**:

bonus1 = 100000 * 0.1

bonus2 = bonus1 + 100000 * 0.500075

bonus4 = bonus2 + 200000 * 0.5

bonus6 = bonus4 + 200000 * 0.3

bonus10 = bonus6 + 400000 * 0.15

i = int(raw_input('input gain:n'))

if i <= 100000:

bonus = i * 0.1
elif i <= 200000:

bonus = bonus1 + (i - 100000) * 0.075
elif i <= 400000:

bonus = bonus2 + (i - 200000) * 0.05
elif i <= 600000:

bonus = bonus4 + (i - 400000) * 0.03
elif i <= 1000000:

bonus = bonus6 + (i - 600000) * 0.015
else:

bonus = bonus10 + (i - 1000000) * 0.01
print 'bonus = ',bonus

【程式3】

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

1.程式分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後

的結果滿足如下條件,即是結果。請看具體分析:

2.程式源**:

include "math.h"

main()

} '''

import math

for i in range(10000):

#轉化為整型值

x = int(math.sqrt(i + 100))

y = int(math.sqrt(i + 268))

if(x * x == i + 100) and (y * y == i + 268):

print i

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

1.程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊

情況,閏年且輸入月份大於3時需考慮多加一天。

2.程式源**:

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.' % sum

【程式5】

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

1.程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,

然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

2.程式源**:

l =

for i in range(3):

x = int(raw_input('integer:\n'))
l.sort()

print l

【程式6】

題目:用*號輸出字母c的圖案。

1.程式分析:可先用』*』號在紙上寫出字母c,再分行輸出。

2.程式源**:

print 'hello python world!n'

print '' 10

for i in range(5):

print '*        *'
print '' 10

print 'n' 6

【程式7】

題目:輸出特殊圖案,請在c環境中執行,看一看,very beautiful!

1.程式分析:字元共有256個。不同字元,圖形不一樣。      

2.程式源**:

a = 176

b = 219

print chr(b),chr(a),chr(a),chr(a),chr(b)

print chr(a),chr(b),chr(a),chr(b),chr(a)

print chr(a),chr(a),chr(b),chr(a),chr(a)

print chr(a),chr(b),chr(a),chr(b),chr(a)

print chr(b),chr(a),chr(a),chr(a),chr(b)

【程式8】

題目:輸出9*9口訣。

1.程式分析:分行與列考慮,共9行9列,i控制行,j控制列。

2.程式源**:

include "stdio.h"

main()

printf("n");/每一行後換行/}}

for i in range(1,10):

for j in range(1,10):

result = i * j

print '%d * %d = % -3d' % (i,j,result)

print ''

【程式9】

題目:要求輸出西洋棋棋盤。

1.程式分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。

2.程式源**:

include "stdio.h"

main()

}import sys

for i in range(8):

for j in range(8):

if(i + j) % 2 == 0:

sys.stdout.write(chr(219))

sys.stdout.write(chr(219))

else:

sys.stdout.write(' ')

print ''

【程式10】

題目:列印樓梯,同時在樓梯上方列印兩個笑臉。

1.程式分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。

2.程式源**:

import sys

sys.stdout.write(chr(1))

sys.stdout.write(chr(1))

print ''

for i in range(1,11):

for j in range(1,i):

sys.stdout.write(chr(219))

sys.stdout.write(chr(219))

print ''

python練手小程式

python小白 usr bin env python coding utf 8 time 2019 11 5 8 53 author october file py 整數序列求和 n input 請輸入整數n sum 0 for i in range int n sum i 1print 1到n求...

10個python練手專案

標記一下python的練手專案 10個python練手專案 python專案練習一 即時標記 python專案練習二 畫幅好畫 python專案練習三 萬能的xml python專案練習四 新聞聚合 python專案練習五 虛擬茶話會 python專案練習六 使用cgi進行遠端編輯 python專案...

10個Python練手專案

標記一下python的練手專案 10個python練手專案 python專案練習一 即時標記 python專案練習二 畫幅好畫 python專案練習三 萬能的xml python專案練習四 新聞聚合 python專案練習五 虛擬茶話會 python專案練習六 使用cgi進行遠端編輯 python專案...