Python實例100個(基於最新Python3.7版本)


參考:https://blog.csdn.net/weixin_41084236/article/details/81564963

實例001:數字組合

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

最直觀的解題思路:個、十、百位上循環放入1-4這四個數字,判斷當他們互不相同時,即可輸出。

count=0
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if a!=b and a!=c and b!=c:
                print(a,b,c)
                count+=1
print('總計有%d個不同的三位數'%count)

  

 

實例008:九九乘法表

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

解題思路:行1-9循環,列1-9循環,

for x in range(1,10):
    for y in  range(1,x+1):
        print('%-2d×%2d=%2d'%(x,y,x*y),end='    ')
    print()

  

 

實例080:猴子分桃
題目 海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子平均分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?
解題思路:

monkey=5    #猴子的數量

#桃子總數n
def show(n):
    #循環次數(猴子的數量)
    for i in range(1,monkey+1):
        #t下一只猴子應該帶走的桃子數量
        t=(n-1)/monkey
        #格式化輸出相關信息
        print('%d,桃子有%.2f個,第%d只猴子吃1個,拿走了%.2f個。'%(i,n,i,t))
        #每只猴子吃完,並拿走之后,剩下的桃子數量
        n=(monkey-1)*t

#定義功能函數
def fun():
    #從1開始,第5只猴子拿走的桃子數量,從1一直往后加1,直到條件滿足
    k=1

    #一直判斷,直到
    while True:
        t=k
        
        for i in [5,4,3,2]:
            #當前猴子拿走的桃子數為t,吃拿之前所面對的桃子總數tc為monkey*t+1,且tc能被分成4份。
            #前一個猴子拿走的桃子數為tp,則有monkey-1)*tp=monkey*t+1
            tc=monkey*t+1
            if tc%(monkey-1)!=0:break
            #前一個猴子拿走的桃子數
            t=tc/(monkey-1)

        #當循環完之后,t就是第一只猴子拿走的桃子
        else:
            print('猴子%d只'%monkey)
            print('桃子總數要%d個'%(monkey*t+1))
            show(monkey*t+1)
            break
        
        k=k+1
        
fun()  

  

 


免責聲明!

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



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