python面向对象作业_面向对象作业

day06打印菲波那切数列的前n项。使用循环和递归两种方式

```python #打印菲波那切数列的前n项。使用循环和递归两种方式 a=int(input("请输入")) b=1 c=1 d=0 sum=[1,1] if a==1: print([1]) else: for i in range(a - 2): ###循环 d = b + c b = c c = d sum.append(d) print(sum)

##递归 def fb(i): if i==1 or i==2: return 1 else: return fb(i-1)+fb(i-2) print(fb(10))

```猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)

python '''猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾, 又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。 求第一天共摘多少个桃子。(迭代法)''' p=1 for i in range(1,10): m=(p+1)*2## 结果为1534 p=m print(m) ##递归 def fun1(index): if index == 10: return 1 else: return (fun1(index+1)+1)*2 print(fun1(2))求平方和,有列表[1,……9],把每一个元素都取一下平方,然后累加求和 使用普通函数和面向过程思维解决问题 使用高阶函数解决问题

```python '''求平方和,有列表[1,……9],把每一个元素都取一下平方,然后累加求和 使用普通函数和面向过程思维解决问题 使用高阶函数解决问题''' ## 普通法 s=[1,2,3,4,5,6,7,8,9] sum=0 for i in range(len(s)): sum+=s[i]**2 print(sum)

##面向过程思维 s = [1, 2, 3, 4, 5, 6, 7, 8, 9] a = int(len(s)) sum = 0

def pf(a): global sum sum += s[a] ** 2 z = a - 1 if a == 0: pass else: pf(z) pf(8) print(sum)

##高级函数

def square(x): return x**2 # a=[] a = map(square,[1,2,3,4,5,6,7,8,9]) kk=0 for x in a: kk+=x print(kk) ```自己实现一下map函数,然后再自己调用一下。

python def square(x): return x**2 # a=[] a = map(square,[1,2,3,4,5,6,7,8,9]) kk=0 for x in a: kk+=x print(kk)写一个lambda表达式,实现两个数的相加

python add=lambda x,y:x+y print(add(2,3))不使用nonlocal与global,能不能来修改外围函数中的变量与全局变量?

可以 但是只能修改列表。编写“计算机类”,属性包括CPU型号,内存大小,硬盘大小。行为包括介绍CPU型号,展示内存大小,展示硬盘大小, 综合介绍

python ''' 编写“计算机类”,属性包括CPU型号,内存大小,硬盘大小。 行为包括介绍CPU型号,展示内存大小,展示硬盘大小, 综合介绍 ''' class computer(): def __init__(self,cpu,nc,yp): self.cpu=cpu self.nc=nc self.yp=yp print("CPU型号是{0},内存大小为{1},硬盘大小为{2}".format(cpu,nc,yp)) def xingwei(self): print("介绍cpu型号") print("展示内存大小") print("展示硬盘大小") a=computer(123,5,6) a.xingwei()编写一个银行卡类,具有账号,人名与余额属性。 编写提款机类,接收一张银行卡,并且具有存款,提款,查询余额,转账功能。

```

```编写一个计数器,能够记录一个类创建了多少个对象。

```

```编写程序,设计单张扑克牌类Card,具有花色,牌面与具体值。 同时设计整副扑克牌类Cards,具有52张牌。

红桃、黑桃、方片、草花 2345678910JQKA ♥♠♦♣

设计一个发牌的函数,可以任意发出三张牌。 对任意三张牌断定牌的类型。 类型包括: 三条:三张牌value一样 一对:两张value一样 顺子:三张牌挨着 同花:三张牌type一样 同花顺:挨着,类型一样 其余都是散牌

猜拳游戏

分析类:属性、方法

自己玩家:Player 选角色[“美羊羊”,“喜羊羊”,"沸羊羊"] ​ 出拳 石头1 剪刀2 布3 计算机玩家:Computer 选角色[“1美羊羊”,“2喜羊羊”,"3沸羊羊"] 随机选角 ​ 随机出拳 game类,包含了整个游戏流程,让玩家选角色、出拳、计算机选角色、出拳、比较出拳,显示解决

再玩一次

赢+1分 可以循环玩 当游戏结束之后,可以提示计算机和玩家的分数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值