一,python編程100例


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

#有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
number = (1 ,2,3,4)
count = 0
for i in number:#for i in range(1,5)
    for j in number:
        for k in number:
            if i !=j and i != k and j != k :
                count += 1
                print(i ,j , k)
print("一共有%s種組合"%count)
View 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%提成。
從鍵盤輸入當月利潤I,求應發放獎金總數?

初級版

profits = input("請輸入當月利潤:")
profit = int(profits)
            if profit <= 100000 :
                bonus = profit * 0.1
            elif  100000< profit <=200000:
                bonus = 100000*0.1 + (profit-100000)*0.075
            elif 200000 < profit <= 400000:
                bonus = 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
            elif 400000 < profit <= 600000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
            elif 600000 < profit <= 1000000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
            elif 1000000 < profit:
                bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
            print("你應得的獎金為:",bonus)
View Code

進階版

while True:         #增加循環可多次輸入
    profits = input("請輸入當月利潤:")
    if profits != "q" and profits != "Q":    #增加一個判斷使程序可以退出並增加一個隱形的判斷Q
        try:                                 #抓取有可能由於輸入錯誤導致的報錯
            profit = int(profits)
            if profit <= 100000 :
                bonus = profit * 0.1
            elif  100000< profit <=200000:
                bonus = 100000*0.1 + (profit-100000)*0.075
            elif 200000 < profit <= 400000:
                bonus = 100000*0.1 + 100000*0.075 + (profit-200000)*0.05
            elif 400000 < profit <= 600000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + (profit-400000)*0.03
            elif 600000 < profit <= 1000000:
                bonus = 100000*0.1 +100000*0.075 + 200000*0.05 + 200000*0.03 +(profit-600000)*0.015
            elif 1000000 < profit:
                bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit-1000000)*0.01
            print("你應得的獎金為:",bonus)
            print("輸入 q 結束查詢")
        except Exception :
            print("對不起你輸入的信息有誤,請輸入當月利潤,或輸入 q  退出")
    else:
        print("結束查詢")
        break
View Code

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

我數學不好,只能想一個笨辦法來解決

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

for a in range(0,10000):
    b = (a+100)**0.5                #思路;如果b是一個平方數,那么它的開方應該是一個一位小數的數字,如:121開方后是11.0,如果是小數點兩位,那么它不可能是一個完全開方數
    q=len(str(b).split(".")[1])    #所以把b這個浮點數按小數點分開,如果小數點后面是一位,那么它包含了所以的完全平方數和可能不是的完全平方數
    if q == 1:
        c = (a+100+168)**0.5
        w=len(str(c).split(".")[1])
        if w == 1:                  #再次篩選,那么是c完全平方數的概率也就極大增加了,到底有多大,請看結果。驗證后沒有錯誤答案,
            print(a)
View Code

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

import time
while True:
    a = input("請輸入某年某月某日,(如:2016-08-06):")
    if a != "q":
        try:
            c= time.strptime(a,"%Y-%m-%d")    #把獲取的時間轉換成元組形式並獲取數據
            print("這是%s年的第%s天"%(a[0:4],c.tm_yday))
        except Exception:
            print("輸入有誤,請重新輸入,退出請輸入q")
    else:
        print("已退出")
        break
View Code

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

while True:
    a = input("請輸入三個整數,並用逗號隔開,如:2,5,4 (退出請輸入 q ):")
    if a != "q":
        try:
            b = a.split(",")
            r = int(b[0])    #int也有一個好處,就是判斷它是否為空或者特殊字符,是則報錯
            w =int(b[1])
            e = int(b[2])
            c=[]
            c.append(r)     #c里的內容必須是int類型,因為b是字符串,那么b.sort排序 會把10排到5后面,因為10在b里是字符串,它沒有5大
            c.append(w)
            c.append(e)
            c.sort()
            if len(b) >3:            #判斷是否輸入數大於三位
                print("請輸入三位整數,退出請輸入 q ")
                continue
            print("您輸入的數%s從小到大的排序為:%s ,%s ,%s"%(a,c[0],c[1],c[2]))
        except Exception:
            print("輸入有誤,請重新輸入,退出請輸入 q ")
    else:
        print("已退出")
        break
View Code

6.題目:用*號輸出字母C的圖案。

print("""        * * * *
                * 
               *
              *
             *
            *
            *
            *
             *
               *
                 * 
                   * * *
"""  )
View Code

7.題目:輸出9*9口訣。

#題目:輸出9*9口訣。
for i in range(1,10):
    for j in range(1,10):
        if i <= j:
            # print(str(i) + "*" + str(j) + "=" + str(i*j))
            # print("{a}*{b}={c}".format(a=i,b=j,c=i*j)) #第二種方法
            print("%d*%d=%d"%(i,j,i*j)) #第三種方法
View Code
#題目:輸出9*9口訣。
for i in range(1,10):
    for j in range(1,10):
        if i <= j:
            print(str(i) + "+" + str(j) + "=" + str(i*j))
            # print("%s+%s=%s"%(i,j,i*j)) #第二種輸出方法
View Code

8.題目:斐波那契數列 斐波那契就是從第三個數開始,都是前兩個數的和

#題目:斐波那契數列 斐波那契就是從第三個數開始,都是前兩個數的和
a, b = 1, 1
for i in range(10):
    a, b = b, a + b
    print(a)
# def cn(n):      #輸出指定的第幾個數
#     a, b = 1, 1
#     for i in range(n-1):
#         a, b = b, a + b
#     return a
# print(cn(10))
View Code

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

#題目:將一個列表的數據復制到另一個列表中。
a=[1,2,3]
# b = a   這種方法不行
# print(b)
# a.append(5)
# print(b)
b = a[:] #這個可以,相當於復制a,也可以a[0:len(a)]
print(b)
a.append(7)
print(b)
View Code

10 題目:暫停一秒輸出

#題目:暫停一秒輸出
import time

print("開始暫停")
time.sleep(1)
print("暫停了一秒")
View Code

11.題目:暫停一秒輸出,並格式化當前時間。

#題目:暫停一秒輸出,並格式化當前時間。
import time

print("暫停一秒")
time.sleep(1)
a = time.strftime("%Y-%m-%d %H-%M-%S",time.localtime()) #time.localtime()獲取當前時間元組形式,time.strftime()格式化時間
print(a)
View Code

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

#題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
#這是斐波那契數列,1,1,2,3,5,8,13
a, b = 1, 1
c=[]
print("第一個和第二個月都只有一對兔子")
print(a)
for i in range(24):
    a, b = b, a + b
    print(a)
View Code

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

#題目:判斷101-200之間有多少個素數,並輸出所有素數。素數就是大於一的自然數,只能被一和自己整除的數
count = 0
for num in range(101,201):
    for i in range(2,num):
        if num%i==0 :
            break
    else:
        count += 1
        print("%d是素數"%num)
print("一共有%s個素數"%count)
View Code

14.題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身

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

for i in range(100,1000):
    a = int((str(i)[0]))**3 + int((str(i)[1]))**3 + int((str(i)[2]))**3
    if a == i:
         print(i)
View Code

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

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

target=int(input('輸入一個整數:'))
print(target,'= ',end='')
if target<0:
    target=abs(target)
    print('-1*',end='')
flag=0
if target<=1:
    print(target)
    flag=1
while True:
    if flag:
        break
    for i in range(2,int(target+1)):
        if target%i==0:
            print("%d"%i,end='')
            if target==i:
                flag=1
                break
            print('*',end='')
            target/=i
            break
View Code

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

#題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示
try:
    numb_s = int(input("請輸入成績,輸入 q 退出:"))
    while numb_s != "q":
        if numb_s >= 90:
            print("A")
        elif 60 <= numb_s <=89:
            print("B")
        else:
            print("C")
except Exception:
    print("輸入數據錯誤,請重新輸入或輸入 q 退出")
View Code

17.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM