1. 程式人生 > >python入門100例(1-10)

python入門100例(1-10)

純個人練習,熟悉一下python。

程式:1-10

"""
【程式1】
題目:有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(j!=k)and(k!=i):
                # print(i*100+j*10+k)
                # print('+'.join(s.split()))#join目標是str型
                s = str(i) + str(j) + str(k)
                print(s)
"""
【程式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,求應發放獎金總數?
"""
bouns_10 = 100000*0.1
bouns_20 = bouns_10+100000*0.075
bouns_40 = bouns_20+200000*0.05
bouns_60 = bouns_40+200000*0.03
bouns_100 = bouns_60+400000*0.015
i = int(input())
if i<= 100000:
    bouns = i*0.1
elif i<= 200000:
    bouns = bouns_10+(i-100000)*0.075
elif i<=400000:
    bouns = bouns_20+(i-200000)*0.05
elif i <= 600000:
    bouns = bouns_40+(i-400000)*0.03
elif i <= 1000000:
    bouns = bouns_60+(i-600000)*0.015
else:
    bouns = bouns_100+(i-1000000)*0.01
print('bouns=',bouns)
    
"""【程式3】
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
"""
import math
n = int(input())  #輸入任意的整數,找1-n中滿足條件的數
for i in range(10000):
#轉化為整型值
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268)) #加100再加168
if(x * x == i + 100) and (y * y == i + 268):
print (i)

"""
【程式4】題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
      情況,閏年且輸入月份大於3時需考慮多加一天。
2.程式原始碼:
"""
year = int(input('year:'))
month = int(input('month:'))
day = int(input('day:'))

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):# 前閉後開區間[1 3)
    num = int(input())
    # print(i)
    l.append(num)
l.sort()  # python中sort與sorted排序簡介說明https://www.jianshu.com/p/7be04a3f30cd
print(l)
"""
【程式6】--有問題
題目:用*號輸出字母C的圖案。
"""
print('*'*10)
for i in range(5):
    print('** ')
print('*'*10)
"""
【程式7】
題目:輸出特殊圖案,請在c環境中執行,看一看,Very Beautiful!
"""
# 需要了解字元形狀
a = 25
b = 245
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口訣。
"""
for i in range(1,10):
    for j in range(i,10):
        result = i*j
        print('%d * %d = %d' % ((i),j,result))
"""
【程式9】
題目:要求輸出國際象棋棋盤。
"""
# 國際象棋棋盤圖案是8*8黑白相間很有規律的樣子
import sys  
for i in range(8):
    for j in range(8):
        if(i + j) % 2 == 0:
            sys.stdout.write(chr(219)) # 與print相類似,只是print自動換行,這個函式不換行
            sys.stdout.write(chr(219))
        else:
            sys.stdout.write(' ')
    print ('')
"""
【程式10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉。
"""
import sys
sys.stdout.write(chr(0))#笑臉是啥
sys.stdout.write(chr(0))
print ('')

for i in range(1,11):
    for j in range(1,10):
        sys.stdout.write(chr(219))#與print相比差一個(\n),
        sys.stdout.write(chr(219))
        print(chr(219))
        print(chr(219))
    print('')