Python程序设计 列表

news/2024/5/20 17:09:16/文章来源:https://blog.csdn.net/weixin_58063872/article/details/137611598

教学案例八 列表

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.luyixian.cn/news_show_1045465.aspx

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

相关文章

机器学习的15个概念

机器学习 有监督学习 有监督学习是利用训练数据集进行预测的机器学习任务。有监督学习可以分为分类和回归。回归用于预测“价格”“温度”或“距离”等连续值&#xff0c;而分类用于预测“是”或“否”、“垃圾邮件”或“非垃圾邮件”、“恶性”或“良性”等类别。 分类包含…

番外篇 | YOLOv8改进之引入YOLOv9的ADown模块 | 替换YOLOv8卷积

前言:Hello大家好,我是小哥谈。YOLOv9是一种目标检测算法,而ADown模块是YOLOv9中的一个重要组成部分。ADown模块主要用于特征提取和下采样操作,以便在后续的检测任务中更好地捕捉目标的特征。具体来说,ADown模块是YOLOv9中的一个卷积块,由一系列卷积层和池化层组成。它的…

基于SSM+Jsp+Mysql的超市管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

c++的学习之路:22、多态(1)

摘要 本章主要是说一些多态的开头。 目录 摘要 一、多态的概念 二、多态的定义及实现 2.1、多态的构成条件 2.2、虚函数 2.3、虚函数的重写 2.4、C11 override 和 final 2.5、重载、覆盖(重写)、隐藏(重定义)的对比 三、思维导图 一、多态的概念 多态的概念&#…

Harmony鸿蒙南向驱动开发-DAC

DAC&#xff08;Digital to Analog Converter&#xff09;是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。 DAC模块支持数模转换的开发。它主要用于&#xff1a; 作为过程控制计算机系统的输出通道&#xff0c;与执行器相连&#xff0c;实现对生产过程的自…

牛客 2024春招冲刺题单 ONT98 牛牛猜节点【中等 斐波那契数列 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a3dfb5be4544381908529dc678ca6dd 思路 斐波那契数列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规…

redis集群搭建过程遇到的坑

在上一篇博文中搭建好了redis集群&#xff0c;但是仍然存在很多问题 上一篇&#xff1a;k8s下搭建redis集群 1、springboot服务连接 集群配置好了&#xff0c;spring服务应该怎么连接呢&#xff1f;单点和集群的连接配置写法是不一样的 单点 spring:redis:host: ${BTC_RED…

水牛社软件:让网络小白少花冤枉钱,赚取第一桶金

大家好&#xff0c;我是木薯&#xff0c;水牛社赚钱软件的设计者&#xff0c;很感谢你的关注。我掘金互联网行业21年&#xff0c;操作了过去十余年来网上几乎所有的主流赚钱项目。我相信这个软件可以给你带来至少百倍的回报。 今年是软件上线第十个年头&#xff0c;去年底刚刚…

Tesseract 安装与配置及验证码识别

Tesseract 安装与配置 Tesseract 的使用&#xff0c;需要环境的支持&#xff0c;以实现简单的转换和训练。 1.环境 python版本&#xff1a;3.8.3 &#xff08;python2.7或3以上&#xff09; 操作系统&#xff1a;windows系统 2.Python安装 详见&#xff1a;Miniconda的…

创建型模式--4.抽象工厂模式【弗兰奇一家】

1. 奔向大海 在海贼世界中&#xff0c;位于水之都的弗兰奇一家是由铁人弗兰奇所领导的以拆船为职业的家族&#xff0c;当然了他们的逆向工程做的也很好&#xff0c;会拆船必然会造船。船是海贼们出海所必备的海上交通工具&#xff0c;它由很多的零件组成&#xff0c;从宏观上看…

Leetcode算法训练日记 | day19

一、最大二叉树 1.题目 Leetcode&#xff1a;第 654 题 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的…

每日Bug汇总--Day01

Bug汇总—Day01 一、项目运行出错 1、问题&#xff1a;运行苍穹外卖后端项目sky-take-out时&#xff0c;maven在install时报错 Maven resources compiler: Failed to copy D:\sky-take-out\sky-server\.....报错原因&#xff1a; 文件或者上级文件夹设置了只读用户没有修改…

【论文精读】| Geometric Multimodal Contrastive Representation Learning

本文并非逐句翻译&#xff0c;添加个人理解与疑惑&#xff0c;如有需要&#xff0c;请自行阅读原文。 Geometric Multimodal Contrastive Representation Learning 几何多模态对比表征学习 发表在 2022 ICML 数据集&#xff1a; 代码地址&#xff1a;GitHub - miguelsvasco/gmc…

ClickHouse 介绍

前言 一个通用系统意味着更广泛的适用性&#xff0c;但通用的另一种解释是平庸&#xff0c;因为它无法在所有场景内都做到极致。 ClickHouse 在没有像三驾马车这样的指导性论文的背景下&#xff0c;通过针对特定场景的极致优化&#xff0c;获得闪电般的查询性能。 ClickHous…

MySQL复制拓扑1

文章目录 主要内容一.安装MySQL服务器1.MySQL 安装程序和其它文件保存在下发的 mysql8-files.iso 镜像文件中&#xff0c;可以使用虚拟光驱来提取到 Linux 文件系统。代码如下&#xff08;示例&#xff09;: 2.将 MySQL8.0 程序解压到 /opt 目录&#xff0c;再创建到 MySQL 默认…

基于Java+SpringBoot+Vue文学名著分享系统(源码+文档+部署+讲解)

一.系统概述 随着世界经济信息化、全球化的到来和互联网的飞速发展&#xff0c;推动了各行业的改革。若想达到安全&#xff0c;快捷的目的&#xff0c;就需要拥有信息化的组织和管理模式&#xff0c;建立一套合理、动态的、交互友好的、高效的文学名著分享系统。当前的信息管理…

Spring Boot 切面的一种的测试方法,java中级开发面试

void afterReturnName() { Assertions.assertEquals(studentController.getNameById(123L).getName(), "测试姓名Yz");} } 但往往切面中的逻辑并非这么简单&#xff0c;在实际的测试中其实我们也完成没有必要关心在切面中到底发生了什么&#xff08;发生了什么应该在…

FreeRTOS任务切换学习

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

【Redis系列】Redis安装与使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

python 读取txt文件,文本拼接

# 定义你想要拼接的变量 variable_to_concatenate1 """ ,拼接文本,文本一, """ variable_to_concatenate2 """ ,文本二,拼接文本 """# 打开原始文件&#xff0c;并读取每一行 with open(example.txt, r, encodi…