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()  

  

 

posted @ 2019-08-08 18:07  隐泉  阅读(1156)  评论(0编辑  收藏  举报