python3 100例 一碼人學習筆記(1-10)
阿新 • • 發佈:2019-02-03
不逼逼,撂乾貨
題目1:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?
程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。
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)
題目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,求應發放獎金總數?
i = int(input('淨利潤:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
if i>arr[idx]:
r+=(i-arr[idx])*rat[idx])
print ((i-arr[idx])*rat[idx])
i=arr[idx]
print (r)
執行結果:
題目3:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 : m = (i + j) / 2 n = (i - j) / 2 x = n * n - 100 print(x)
執行結果:
題目4:輸入某年某月某日,判斷這一天是這一年的第幾天?
程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於2時需考慮多加一天:
year = int(input('year:\n')) month = int(input('month:\n')) day = int(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,請把這三個數由小到大輸出。
l = []
for i in range(3):
x = int(input('integer:\n'))
l.append(x)
l.sort()
print (l)
執行結果
題目6:斐波那契數列。
程式分析:斐波那契數列(Fibonacci sequence),又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……。
def fib(n):
a,b = 1,1
for i in range(n-1):
a,b = b,a+b
return a
k=int(input('你需要第幾個菲波那契數列:'))
print( fib(k))
執行結果:
如果要顯示出全部結果:
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
k=int(input('你需要顯示幾個菲波那契數列:'))
print( fib(k))
執行結果:
題目7:從一個列表複製到另外一個列表裡
a = [1, 2, 3]
b = a[:]
c = a[1:]
d = a[:1]
print (b,c,d)
執行結果:
題目9:輸出乘法口訣表
for i in range(1, 10):
print
for j in range(1, i+1):
print ("%dx%d=%d" % (i, j, i*j))
執行結果:
題目10:輸出當前時間
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())))
輸出結果: