Python学习:经典编程例题

九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()

 

水仙花数
问题描述:100-999之间每个数的立方相加等于原数
例如:153=1 ^ 3 + 5 ^ 3 + 3 ^ 3

for i in range(100,1000):
    s=(i%10)**3+(i//10%10)**3+i//100
    if s==i:
        print("%d是水仙花数"%i)

 

1-100之间的和

    sum=0
for i in range(1,101):
    sum+=i
print(sum)

 

鸡兔同笼
问题描述:一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼 子里面脚的总数 100,问笼子里面有多少只鸡和多少只兔子

for ji in range(100):
    for tu in range(100):
        if ji*2+tu*4==100:
            print("鸡有%d只,兔子有%d只"%(ji,tu))

 

冒泡排序
问题描述:一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成

l=[31,26,99,132,43,77,54,80,52,100]
for i in range(len(l)):
    for j in range(len(l)-i-1):
        if l[j]>l[j+1]:
            l[j],l[j+1]=l[j+1],l[j]
print(l)

 

百钱百鸡
问题描述:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,如何买?
解析:已经知道公鸡5文钱一只,共有100文钱,若全买公鸡,最多为20只,若全买母鸡,最多为33只,若全买小鸡,最多300只

for i in range(21):
    for j in range(33):
        for k in range(300):
            if i+j+k==100 and i*5+j*3+k/3==100:
                print('共可购买公鸡%d只,母鸡%d只,小鸡%d只'%(i,j,k))

 

猴子吃桃
问题描述: 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上在想吃的时候,发现只剩下一个桃子。求第一天一共摘了多少
解析:第10天只剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子p个,可得:p * 1/2 - 1 = 1,可得 p = 4。以此类推

p=1
for i in range(9,0,-1):
    p=(p+1)*2
print(p)

 

1-100之间的素数
问题描述:素数是除了1和它本身以外不再有其他因数。

l=[]
for i in range(2,100):
    j=2
    for j in range(2,i):
        if(i%j==0):
            break
    else:
        l.append(i)
print(l)

 

posted on 2019-02-25 17:34  wj5891  阅读(529)  评论(0编辑  收藏  举报

导航