当前位置: 首页 > news >正文

python打怪练习

1. 求一个数的幂值

def mi(a, b):
    c = a
    for i in range(b-1):
        a = a * c
    return a


print(mi(2, 4))

2. 输出斐波那契数列

def feibonaqi(n):
    l = []
    a = 1
    b = 1
    for i in range(n):
        l.append(a)
        l.append(b)
        a = b + a
        b = a + b
    print(l)


feibonaqi(5)

3. 输出特定字典数据

keys = ['name', 'old', 'score']
values = [
    ['yee', 3, 99], ['rose', 18, 8], ['green', 30, 90]
]
要输出结果:
[{'name': 'yee', 'old': 3, 'score': 99}, {'name': 'rose', 'old': 18, 'score': 8}, {'name': 'green', 'old': 30, 'score': 90}]

错误示范:

keys = ['name', 'old', 'score']
values = [
    ['yee', 3, 99], ['rose', 18, 8], ['green', 30, 90]
]
l = []
d = {}
for value in values:
    for i in range(len(keys)):
        d[keys[i]] = value[i]
    l.append(d)
print(l)

错误原因:

列表追加的元素指向的是同一个字典d,若d字典的键值变化也会同步到列表

例如:

cc = []
aa = {'name': 'green', 'old': 30, 'score': 90}
cc.append(aa)
aa['name'] = 'yee'
aa['old'] = 3
aa['score']= 99
cc.append(aa)
print(cc)

输出结果是:[{‘name’: ‘yee’, ‘old’: 3, ‘score’: 99}, {‘name’: ‘yee’, ‘old’: 3, ‘score’: 99}]

相关文章:

  • 源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
  • gerrit的使用
  • springboot餐饮管理系统-计算机毕业设计源码73168
  • DBAPI 如何对SQL查询出的日期字段进行统一格式转换
  • HtmlUnit:探索Web自动化的强大工具
  • springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
  • 软考高级-一
  • cad文字转arcgis注记
  • 国产数据库备份恢复实现
  • C# 使用NHibernate连接MySQL实现数据的增删改查
  • 【机器学习】(基础篇三) —— 损失函数和梯度下降
  • IPython使用技巧整理
  • Python 微服务实战:Dapr 基础入门指南
  • ES环境搭建、ES安装
  • 鸿蒙HarmonyOS开发:如何灵活运用动画效果提升用户体验
  • SpringBoot优雅的封装不同研发环境下(环境隔离)RocketMq自动ack和手动ack
  • 【npm】如何将自己的插件发布到npm上
  • 问题-windows-VPN不正确关闭导致网页打不开
  • 操作系统实训复习笔记(1)
  • 【Python】 使用 pandas 进行数据归一化
  • 我驻苏丹使馆建议在苏中国公民尽快撤离
  • 中国以“大幅开放市场”回应贸易保护主义
  • 中国经济新动能|警惕数字时代下经济的“四大极化”效应
  • 金融监管总局将出八大增量政策,李云泽详解稳楼市稳股市“组合拳”
  • 《黎明的一切》:与正常世界脱轨后,我选择不再回去
  • 外交部:中欧关系50年发展最宝贵经验是相互尊重,求同存异