Python程序设计 列表

教学案例八 列表

1. 计算并显示斐波那契数列

输入n,计算并显示斐波那契数列前n项.一行打印5项,每项显示宽度为6

什么是斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列、 因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,每个月的兔子数形成的数为斐波那契额数列 在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)

n=eval(input())
#代码开始
s = [1,]
a = 1
b = 1
for i in range(1, n):if i == 1:s.append(1)else:s.append(s[i-1]+s[i-2])
n = 0
for i in s:print("{:6d}".format(i),end="")n+=1if n % 5 == 0:print()
#代码结束

2. 整数统计

从键盘输入若干个1-100之间的整数,求这些数的和、个数、平均值、最大值、最小值、中位数和均方差。 若输入0,则输入结束,显示统计结果。若输入不符合要求的数,则显示非法输入,并不将该数计算在内。

1.lb为空列表
2.永真循环 输入x 若x为0则退出循环 若x为1-100的整数则添加到列表lb中 否则显示输入错误

3.输出lb的个数len(lb) 、和sum(lb)、平均值sum(lb)/len(lb)、最小数min(lb)、最大数max(lb)
4.中位数的计算 首先将列表排序 当列表个数为奇数,中位数是序号为列表个数//2的列表项。当列表个数为偶数,中位数是序号为列表个数//2-1的列表项和列表个数//2的列表项的平均值。

5.方差的计算: 对列表的每个数循环,计算其与列表的平均值的差的平方和,除以列表个数则为方差。

列表的统计函数

,

,

列表的排序

lb.sort() 方法,将列表lb按升序排列

sorted(lb) 函数会返回一个新的已排序列表,不会修改lb的元素顺序

#代码开始
sum1 = 0
lb = []
min1 = 100
max1 = 0
yh = 0
while True:x = eval(input("请输入一个整数"))if x == 0:breakif 0 <= x <= 100:   lb.append(x)else:print("非法输入")for i in lb:yh += 1sum1 += imin1 = min(min1,i)max1 = max(max1,i)lb.sort()
if yh % 2 == 0:zz = (lb[yh//2] + lb[yh//2-1])/2
else:zz = lb[yh//2]pj = sum1 / yh
fc = 0
for i in lb:fc += (i-pj)**2fc = fc / yh
print("有效数{}个和{}最大数{}最小数{}平均值{:.2f}".format(yh,sum1,max1,min1,pj))
if yh % 2==0:print("中位值{:.1f}方差{:.2f}".format(zz,fc))
else:print("中位值{}方差{:.2f}".format(zz,fc))
#代码结束

3. 统计文档中诗人列表

《唐诗.txt》文本文件中记录了多位诗人的多首诗文。编写程序,按姓名顺序显示所有诗人的姓名,同一个姓氏的诗人显示在一行,并统计诗人个数。

字符串的移除

str.strip(字符); strip() 方法用于移除字符串头尾指定的字符或字符序列,默认为空格和换行符。 例如line.strip()可删除字符串首尾的空格和换行符。 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

字符串的截取

find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

列表的处理

列表lb的添加 lb.append(元素)

列表lb的排序 lb.sort()

f1=open("sy8//唐诗.txt","r",encoding='gbk')
#代码开始
lb = []
for i in f1.readlines():i = i.strip("\n")for j in i:if j.isdigit()==True:lb.append(i)break
lb1 = []
n = 0
for i in lb:i = i.split(":")[0]a = i[3:]n += 1  lb1.append(a)lb1 = list(set(lb1))
lb1.sort()count = len(lb1)
for i in range(0,count):print(i+1,lb1[i],end="")   if i == count-1:breakif lb1[i][0] != lb1[i+1][0]:print()    print()   
print("共有%d诗人"% count)f1.close()
#代码结束

4. 股票列表数据的显示

某人将自选股的股票代码存储在列表zxg,股票名称存储在列表gpmc中 zxg=["600030","300059","600053","300339"] gpmc=["中信证券","东方财富","九鼎投资","润和软件"] 编写程序,显示列表中股票的代码和名称

zxg=["600030","300059","600053","300339"]
gpmc=["中信证券","东方财富","九鼎投资","润和软件"]
#代码开始
for i in range(len(zxg)):print(zxg[i],gpmc[i])#代码结束

 5. 股票列表数据的查询

某人将自选股的股票代码存储在列表zxg,股票名称存储在列表gpmc中 zxg=["600030","300059","600053","300339"] gpmc=["中信证券","东方财富","九鼎投资","润和软件"] 编写程序,根据股票代码实现对自选股的查询 输入要查询的股票代码,如果股票代码在列表中,显示对应的股票名称,如果没有在列表中,显示股票不存在

zxg=["600030","300059","600053","300339"]
gpmc=["中信证券","东方财富","九鼎投资","润和软件"]
#代码开始
x = input("查询的股票代码")
n = 0
s = 0
for i in zxg:n += 1if x == i:s = 1break
if s == 1:print(gpmc[n-1])       
else:print("股票不存在")   #代码结束

6. 股票列表数据的删除

某人将自选股的股票代码存储在列表zxg,股票名称存储在列表gpmc中 zxg=["600030","300059","600053","300339"] gpmc=["中信证券","东方财富","九鼎投资","润和软件"] 编写程序,根据股票代码实现对自选股的删除 输入要删除的股票代码,如果股票代码没有在列表中,显示股票不存在,如果股票代码在列表中,在zxg列表删除该代码,并将gpmc中对应的信息也删除.并显示股票已删除 最后输出两个列表的信息

zxg=["600030","300059","600053","300339"]
gpmc=["中信证券","东方财富","九鼎投资","润和软件"]
#代码开始
x = input("删除的股票代码")
n = 0
s = 0
for i in zxg:s += 1if x == i:zxg.remove(i)n = 1breakif n == 1:gpmc.pop(s-1)print("股票已删除")
else:print("股票不存在")
#代码结束
for i in range(len(zxg)):print(zxg[i],gpmc[i])

7. 股票列表数据的增加

某人将自选股的股票代码存储在列表zxg,股票名称存储在列表gpmc中 zxg=["600030","300059","600053","300339"] gpmc=["中信证券","东方财富","九鼎投资","润和软件"] 编写程序,根据股票代码实现对自选股的增加 (1)输入股票代码dm (2)如果股票代码dm在列表zxg中,显示股票已存在。 (3)否则输入股票名称mc。 (4)将代码dm加入列表zxg,将股票名称mc加入列表gpmc。 (5)显示股票已添加 最后输出两个列表的信息

zxg=["600030","300059","600053","300339"]
gpmc=["中信证券","东方财富","九鼎投资","润和软件"]
#代码开始
dm = input("增加的股票代码")
n = 0
for i in zxg:if dm == i:n = 1break
if n == 0:zxg.append(dm)mc = input("股票名称")gpmc.append(mc)print("股票已添加")
else:print("股票已存在")
#代码结束
for i in range(len(zxg)):print(zxg[i],gpmc[i])

8. 股票列表数据的管理

编写一个小程序,显示菜单如下

,

当用户输入选项后,执行相应的操作 直到输入5退出程序

1.定义zxg和gpmc列表

2.显示菜单项

3.使用永真循环 (1)接收用户的选择x (2)如果x是”1”,则执行新增股票的操作 (3)如果x是”2”,则执行删除股票的操作 (4)如果x是”3”,则执行查询股票的操作 (5)如果x是”4”,则执行显示股票的操作 (6)如果x是”5”,则退出循环

zxg=["600030","300059","600053","300339"]
gpmc=["中信证券","东方财富","九鼎投资","润和软件"]
print("1.股票增加2.股票删除3.股票查询4.显示列表5.退出")
#代码开始
while True:x = input("请输入选择")if x == "5":breakelif x == "1":dm = input("增加股票的代码")n = 0for i in zxg:if dm == i:n=1breakif n != 1:  mc = input("股票名称")zxg.append(dm)gpmc.append(mc)print("股票已添加")else:print("股票不存在")elif x == "2":sc = input("删除股票的代码")n1 = 0s = 0for i in zxg:s += 1if sc == i:zxg.remove(i)n1 = 1breakif n1 == 1:gpmc.pop(s-1)print("股票已删除")else:print("股票不存在")elif x == "3":cx = input("查询的股票代码")n2 = 0s1 = 0for i in zxg:s1 += 1if cx == i:n2 = 1breakif n2 == 1:print(gpmc[s1-1])else:print("股票不存在")elif x =="4":for i in range(len(zxg)):print(zxg[i],gpmc[i])#代码结束

9. 选择题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FreeRTOS任务切换学习

FreeRTOS任务切换学习 所谓任务切换&#xff0c;就是CPU寄存器的切换。假设当由任务A切换到任务B时&#xff0c;主要分为两步&#xff1a; 1&#xff1a;需暂停任务A的执行&#xff0c;并将此时任务A的寄存器保存到任务堆栈&#xff0c;这个过程叫做保存现场&#xff1b; 2&am…

【无标题】系统思考—心智模式

“直到你使无意识变为有意识&#xff0c;它将指导你的生活并且你会称之为命运。”—卡尔荣格 心智模式深藏于我们内心之中&#xff0c;它潜移默化地影响着我们对世界的理解和判断。往往这些影响是如此隐蔽&#xff0c;以至于我们自己都未必察觉到是什么在驱动我们的选择、决策…

【Entity Framework】聊聊EF中键

【Entity Framework】聊聊EF中键 文章目录 【Entity Framework】聊聊EF中键一、概述二、配置主键2.1 约定配置主键2.2 单个属性配置为实体主键2.3 组合主键 三、主键名称四、键类型和值五、备用键 一、概述 键用作每个实体实例的唯一标识符。EF中的大多数实体都有一个键&#…

VPP 负载均衡测试代码

1. 均衡的测试思想和流程说明。 先说一下理论&#xff0c; 然后后边才知道 代码逻辑。 调试了两天&#xff0c;这个代码终于通了。 由于时间关系&#xff0c; 画了一个粗略的图。另外这个代码只是流程通了&#xff0c;不过要帮助理解负载均衡我认为已经足够了。 下面是windo…

QT Creator概览

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、Qt Creator 概览 ①&#xff1a;菜单栏 ②&#xff1a;模式选择 ③&#xff1a;构建套件选择器…

【Keil5-Debug和发布版本配置】

Keil5-Debug和发布版本配置 ■ Keil5-Debug和发布版本配置■ 一&#xff1a;sct文件 sct文件配置■ 二&#xff1a;发布版本不需要在 C/C&#xff0c;Asm&#xff0c;Linker&#xff0c;中添加 CMDDEBUG 宏定义。■ 三&#xff1a;Debug版本需要在Linker添加 --pd"-DCMDDE…

【MySQL数据库 | 第二十四篇】Limit语句的性能问题和调优策略

前言&#xff1a; MySQL作为最流行的关系型数据库管理系统之一&#xff0c;被广泛应用于各种规模和类型的应用程序中。其强大的功能和灵活的查询语言使得开发人员能够高效地执行各种数据操作和分析。 然而&#xff0c;在处理大量数据或复杂查询时&#xff0c;一些开发人员可能…

Linux网卡:连接虚拟与现实的桥梁

在介绍Linux网卡之前&#xff0c;让我们先迈入时光机&#x1f570;️&#xff0c;回到1980年代末期&#xff0c;互联网正在逐步从一个科研网络向公众网络转变&#xff0c;Linux——一个自由和开源的操作系统诞生了&#x1f427;。Linux的出现&#xff0c;对于计算机科学领域来说…

非线性滤波相位解缠算法

相位解缠是InSAR数据处理流程中较为关键的步骤&#xff0c;同时也是地表高程模型重建 过程中的主要误差来源之一。迄今为止&#xff0c;针对干涉图的相位解缠问题&#xff0c;已经提出了各 种各样的相位解缠算法&#xff0c;这些算法大致可以分为以下几类&#xff1a;①路径跟踪…

DSP笔记13-时间基准子模块Time base(TB)比较子模块Counter cpmpare(CC)

时间基准子模块Time base(TB) 同步&#xff0c;计数 CTR计数寄存器 PRD周期寄存器 CMP比较寄存器&#xff0c;占空比 EPWMA&#xff0c; EPWMB&#xff0c;两个比较寄存器&#xff0c;但只有以及计数寄存器以及一个周期寄存器 计数模式 计数时钟TBCLK HSPCLKDIVx x0,分…

《QT实用小工具·二十三》 Ntp校时类

1、概述 源码放在文章末尾 该项目实现了 Ntp校时类 &#xff0c;包含如下功能&#xff1a; 可设置Ntp服务器IP地址。 推荐用默认的阿里云时间服务器 ntp1.aliyun.com 收到时间信号发出。 时间精确到秒。 下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #if…

在线视频下载工具lux(原annie)安装及使用教程

安装教程 下载ffmpeg&#xff0c;参考这篇文章&#xff1a;Python——Windows下载ffmpeg由于博主的系统为windows&#xff0c;所以选择不安装lux&#xff0c;直接下载.exe文件&#xff0c;进入lux的github网站后&#xff0c;选择右侧的Releases&#xff0c;下载下图的windows …

SpringBoot删除菜品模块开发(SpringMVC分割参数、事务管理、异常处理、批量删除)

需求分析与设计 一&#xff1a;产品原型 在菜品列表页面&#xff0c;每个菜品后面对应的操作分别为修改、删除、停售&#xff0c;可通过删除功能完成对菜品及相关的数据进行删除。 删除菜品原型&#xff1a; 业务规则&#xff1a; 可以一次删除一个菜品&#xff0c;也可以批…

【proteus仿真】定时器0中断实验

#include <REGX51.H> sbit LED1P2^0; void delay(unsigned int ten_s) {while(ten_s--); } void inittime0(void) {TMOD0x01;//选择为定时器0模式&#xff0c;工作方式1TH00xFC;//初值65536-100064536FC18H,定时1msTL00x18;ET01;//打开定时器0中断允许EA1;//打开总中断TR…

InternLM2 技术报告——社区翻译版

InternLM2技术报告于近日正式对外发布&#xff0c;不少社区大佬自发地参与到报告的翻译与解读中来。本文为社区用户翻译的InternLM2技术报告原文&#xff0c;分享给大家~ 论文地址&#xff1a; https://arxiv.org/pdf/2403.17297.pdf 摘要 大型语言模型&#xff08;LLMs&…

Java基础常见面试总结

文章目录 1. 变量、数据类型转换、运算符1.1 变量1.2 数据类型转换1.2.1强转的注意事项 1.3 进制的转换1.4 位运算符1.5 运算符1.6 三元运算符 2. 流程控制2.1 键盘录入_Scanner2.2 Random随机数2.3 switch(选择语句)2.4 分支语句2.5 循环语句 3. 数组3.1 数组的定义3.2 数组操…

证件照小于30kb怎么弄?这个工具三步搞定

当我们需要将照片上传到各种平台时&#xff0c;常常会遇到图片文件大小限制的问题。无论是社交媒体平台还是工作需求&#xff0c;如果照片文件过大&#xff0c;系统会提示上传失败或无法上传。想要解决的这个问题&#xff0c;可以选择将图片压缩指定大小&#xff0c;比如图片压…

蓝桥杯-求阶乘

问题描述 满足 N!的末尾恰好有 区 个o的最小的 N 是多少? 如果这样的 N 不存在输出 -1。 输入格式 一个整数 区。 输出格式 一个整数代表答案。 样例输入 样例输出 10 评测用例规模与约定 对于 30% 的数据,1<K<106 对于 100% 的数据,1<K<1018 运行限制 最大运行时…

【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~

Git教程 版本标签&#xff08;tag&#xff09; 1️⃣ 创建标签2️⃣ 查看存在的标签3️⃣ 标签的散列值4️⃣ 将标签添加到日志输出中5️⃣ 判断tag是否包含特定的提交&#x1f33e; 总结 大多数项目都是用 1.7.3.2和 “ gingerbread” 这样的数字或名称来标识软件版本的。在 …

数字图像处理与交叉学科中名词的拧巴

特征提取 图像处理——对图像、目标或特征点进行定量描述的方法及过程。 模式识别——对原特征进行特征变换&#xff0c;从高维空间到低维空间映射。 特征向量 模式识别、图像处理——一个观测包括多个变量&#xff0c;样本的多个特征组成特征向量。 线性代数——特征值对应的…