首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

几道Python小程序练习的多种解法,做出来就表示Python入门了!

下面由小编开始设题解题:

python斐波那契数列

关于Python编程练习题和答案,斐波那契数列应用的示例。引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列?

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、在数学上,斐波纳契数列以如下被以递归的方法定义。

要求一:输出第10个斐波那契数列

方法一:

def fib(n):

a,b = 1,1

for i in range(n-1):

a,b = b,a+b

return a

方法二:使用递归方法来解救这个问题。

def fib(n):

if n==1 or n==2:

return 1

return fib(n-1)+fib(n-2)

结果为55,这里就先不演示了。

要求二:问题的要求改为:需要输出指定个数的斐波那契数列,要怎么来解决呢?我们往下看。

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

下就来看下运行代码输出的结果是什么

Python兔子生兔子算法

没学习python之前就听说过一个兔子生兔子的数学算法问题。现在学习了python编程后,自然要用python语言来解决这个问题啦。Python编程练习题和答案,兔子生兔子的算法详解如下。

Python练习题要求如下:

简述:话说有一对可爱的兔子,出生后的第三个月开始,每一月都会生一对小兔子。当小兔子长到第三个月后,也会每个月再生一对小小兔子.

问题:假设条件,兔子都不死的情况下,问每个月的兔子总数为多少?

Python解题思路分析:兔子的规律为数列1,1,2,3,5,8,13,21....,好似斐那波契数列的感觉哦~

Python兔子生兔子算法,python解题源代码如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

a1 = 1

b2 = 1

for i in range(1,21):

print '%12ld %12ld' % (a1,b2),

if (i % 3) == 0:

print ''

a1 = a1 + b2

b2 = a1 + b2

Python编程练习题和答案,兔子生兔子的算法详解 :一起来看看输出的结果是何样子的

Python猴子吃桃子

Python数学计算练习题,关于猴子吃桃子的有趣问题计算。

Python练习题问题及要求如下:

问题简述:一只小猴子吃桃子的问题。

话说,一只小猴子第一天摘下若干个桃子,并吃了一半。感觉到吃的还不瘾,于是又多吃了一个;

第二天早上,又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上,都吃了前一天剩下的一半零一个。

python问题:请问,到了第10天早上想再吃时,却发现只剩下一个桃子了。求第一天共摘了多少?

Python解题思路分析:这道题,需要采取逆向思维的方法来从后往前推算,思维清晰,思路活跃。

Python解题源代码如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

#www.iplaypy.com

x2 = 1

for day in range(9,0,-1):

x1 = (x2 + 1) * 2

x2 = x1

print x1

Python猴子吃桃子,编程练习题实例,程序运行结果为:1534。也就是说,这只小猴子第一天一共采摘了1534颗桃子,你算对了吗?

Python乒乓球比赛顺序

Python乒乓球比赛顺序练习题,是关于两个乒乓球队进行比赛,具体python问题是这样的。

简述:已知有两支乒乓球队要进行比赛,每队各出三人;

甲队为a,b,c三人,乙队为x,y,z三人;

已抽签决定比赛名单。

问题:有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

Python解题源代码如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

for i in range(ord('x'),ord('z') + 1):

for j in range(ord('x'),ord('z') + 1):

if i != j:

for k in range(ord('x'),ord('z') + 1):

if (i != k) and (j != k):

if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):

print 'order is a -- %sb -- %sc--%s' % (chr(i),chr(j),chr(k))

Python乒乓球比赛顺序,编程练习题实例,Python程序运行结果是:

a -- z b -- x c--y,你的结果算对了吗?

Python水仙花数for循环应用

本文是关于python水仙花数应用练习。

什么是水仙花数?百度一下:水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。

Python水仙花数for循环应用,编程练习题实例十三

Python练习题问题如下:

要求:打印输出所有的"水仙花数"。

Python解题思路分析:

可以利用for循环控制流语句来完成操作。从100-999个数,每个数分解出个位、十位和百位。

python解题源代码如下:

for n in range(100,1000):

i = n / 100

j = n / 10 % 10

k = n % 10

if n == i ** 3 + j ** 3 + k ** 3:

print n

Python水仙花数for循环应用,输出结果如下图所示:

欢迎吐槽,是不是很难?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180720A1462K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券