欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python项目实例代码(新手python的6个实战项目)

程序员文章站 2024-03-27 09:06:40
墙裂建议收藏,python练手实例题目!一、斐波那契数列斐波那契数列(fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。...

墙裂建议收藏,python练手实例题目!


一、斐波那契数列

斐波那契数列(fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

在数学上,费波那契数列是以递归的方法来定义:

#!/usr/bin/python3
 
def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    fibs = [1, 1]
    for i in range(2, n):
        fibs.append(fibs[-1] + fibs[-2])
    return fibs
 
# 输出前 10 个斐波那契数列
print (fib(10))

以上实例输出结果为:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

二、水仙花数

打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

#!/usr/bin/python3

for n in range(100,1000):
    i = n // 100
    j = n // 10 % 10
    k = n % 10
    if n == i*i*i + j*j*j + k*k*k: 
        print(n)

以上实例输出结果为:

153
370
371
407

三、九九乘法表

输出 9*9 乘法口诀表。

分行与列考虑,共9行9列,i控制行,j控制列。

#!/usr/bin/python3
 
for i in range(1, 10):
    print() 
    for j in range(1, i+1):
        print ("%d*%d=%d" % (i, j, i*j), end=" " )

以上实例输出结果为:

1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

四、猴子吃桃

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少。

采取逆向思维的方法,从后往前推断。

#!/usr/bin/python3

x2 = 1
for day in range(9,0,-1):
    x1 = (x2 + 1) * 2
    x2 = x1
print (x1)

以上实例输出结果为:

1534

五、回文数

一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

#!/usr/bin/python3
 
a = int(input("请输入一个数字:\n"))
x = str(a)
flag = true
 
for i in range(len(x)//2):
    if x[i] != x[-i - 1]:
        flag = false
        break
if flag:
    print ("%d 是一个回文数!" % a)
else:
    print ("%d 不是一个回文数!" % a)

以上实例输出结果为:

请输入一个数字:
12321
12321 是一个回文数!

六、生兔子

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

兔子的规律为数列1,1,2,3,5,8,13,21…

#!/usr/bin/python3
 
f1 = 1
f2 = 1
for i in range(1,22):
    print ('%12ld %12ld' % (f1,f2), end=" ")
    if (i % 3) == 0:
        print ('')
    f1 = f1 + f2
    f2 = f1 + f2

以上实例输出结果为:

       1           1            2           3            5           8 
      13          21           34          55           89         144 
     233         377          610         987         1597        2584 
    4181        6765        10946       17711        28657       46368 
   75025      121393       196418      317811       514229      832040 
 1346269     2178309      3524578     5702887      9227465    14930352 
24157817    39088169     63245986   102334155    165580141   267914296

相信有很多人都在努力地自学着python,但自学过程中总是看懂了却不会做。这就像学生时期老师讲过了,觉得听懂了,但一看题就懵了。所以还是要多练练经典实例哦~~~
祝大家python学习顺利!没有 b u g~