Python程序设计 列表

news2024/11/24 2:33:59

教学案例八 列表

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+=1
    if 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:
        break
    if 0 <= x <= 100:   
        lb.append(x)
    else:
        print("非法输入")

for i in lb:
    yh += 1
    sum1 += i
    min1 = 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)**2

fc = 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:
        break
    if 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 += 1
    if x == i:
        s = 1
        break
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 += 1
   if x == i:
      zxg.remove(i)
      n = 1
      break

if 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 = 1
      break
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":
        break
    elif x == "1":
        dm = input("增加股票的代码")
        n = 0
        for i in zxg:
            if dm == i:
                n=1
                break
        if n != 1:  
            mc = input("股票名称")
            zxg.append(dm)
            gpmc.append(mc)
            print("股票已添加")
        else:
            print("股票不存在")
    elif x == "2":
        sc = input("删除股票的代码")
        n1 = 0
        s = 0
        for i in zxg:
            s += 1
            if sc == i:
                zxg.remove(i)
                n1 = 1
                break
        if n1 == 1:
            gpmc.pop(s-1)
            print("股票已删除")
        else:
            print("股票不存在")
    elif x == "3":
        cx = input("查询的股票代码")
        n2 = 0
        s1 = 0
        for i in zxg:
            s1 += 1
            if cx == i:
                n2 = 1
                break
        if 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.coloradmin.cn/o/1583386.html

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

相关文章

C++典型例题切入数据存储

一、典例导入 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof (int)*4);int* ptr2 …

C语言面试题之返回倒数第 k 个节点

返回倒数第 k 个节点 实例要求 1、实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点&#xff1b;2、返回该节点的值&#xff1b; 示例&#xff1a;输入&#xff1a; 1->2->3->4->5 和 k 2 输出&#xff1a; 4 说明&#xff1a;给定的 k 保证是有效的。实…

新平台上线需要注意哪些?

最近有很多被黑客攻击的老板问我前期平台上线安全防护方面需要注意哪些&#xff1f;下面就给大家讲一下。1、如果前期不打算上高防产品&#xff0c;数据一定要做好备份&#xff0c;否则一旦数据被篡改或者被加密&#xff0c;恢复都是比较困难的&#xff0c;甚至都没有办法恢复。…

亚马逊国际获得AMAZON商品详情 API ,item_get-获得AMAZON商品详情

亚马逊提供了多种API和服务&#xff0c;允许开发者获取商品详情和其他相关信息。然而&#xff0c;直接使用亚马逊的API通常需要遵循一定的步骤和条件&#xff0c;包括注册为亚马逊开发者、创建应用并获取API密钥等。 请求示例&#xff0c;API接口接入Anzexi58 关于你提到的“i…

[Java基础揉碎]System类

1) exit 退出当前程序 2) arraycopy: 复制数组元素&#xff0c;比较适合底层调用&#xff0c;一般使用 Arrays.copyOf完成复制数组(Arrays.copyOf其实底层也是用的System.arraycopy, 本质是一样的) int[] src{1,2,3}; int[] dest new int[3]; System.arraycopy(src, 0, des…

想往智能驾驶方向发展,需要做哪些努力

想往智能驾驶方向发展&#xff0c;需要做哪些努力 附赠自动驾驶学习资料和量产经验&#xff1a;链接 目前自动驾驶主要涉及到以下几个方面&#xff1a; 1.传感器技术&#xff08;激光雷达&#xff0c;毫米波雷达&#xff0c;摄像头&#xff0c;超声波雷达&#xff09;&#x…

【笔试】02

TCP TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议 它能够提供以下服务&#xff1a; 可靠传输 通过序列号、确认应答、重传机制等确保数据完整、准确地从发送端传输到接收端。 三次握手&#xff1a; 点对点全双工面向字节流…

final、finally、finalize的区别

final final就是不可变的意思&#xff0c;可以修饰变量、⽅法和类。修饰变量时&#xff0c;这个变量必须初始 化&#xff0c;所以也称为常量。 被final修饰的类不能被继承 如果一个变量被final修饰&#xff0c;就需要初始化。可以在声明的时候赋值&#xff0c;或者在每一个构…

Linux_进程的优先级环境变量上下文切换优先级队列

文章目录 一、进程的优先级二、进程的四个重要概念三、上下文切换四、环境变量查看当前shell环境下的环境变量与内容 五、Linux2.6内核进程调度队列一个CPU拥有一个runqueue优先级活动队列过期队列active指针和expired指针 一、进程的优先级 什么是优先级&#xff1f; 指定一个…

第十一届蓝桥杯省赛真题(C/C++大学B组)

试题A &#xff1a;门牌制作 #include <bits/stdc.h> using namespace std;const int N 100000; int arr[N];int main() {int ans 0,t;for(int i 1;i < 2020;i){t i;while(t > 0){if(t % 10 2) ans;t / 10;}}cout<<ans<<endl;return 0; } 试题B …

返回头节点的问题

当需要对链表进行操作又需要返回头节点时&#xff0c;又可能被更改的节点正是头节点 解决方法&#xff1a; 让一个指针事先指向头节点&#xff0c;然后从该指针开始操作就好了 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {if(headNULL)ret…

【Linux】make是如何判断可执行文件是否需要重新编译呢?(ACM时间)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

express操作mysql数据库的方法总结

作为前端&#xff0c;我们无需去考虑数据库的问题&#xff0c;业务场景需要的话&#xff0c;我们可以mock数据&#xff0c;满足暂时的联调场景。但是对于数据库&#xff0c;我们前端可以不用&#xff0c;却不能不了解不懂。所以这篇文章整理下&#xff0c;nodejs框架express中怎…

[闲聊统计]之参数估计是什么?(上)

参数估计是推断统计的重要内容之一。它是在抽样及抽样分布的基础上&#xff0c;根据样本统计量来推断所关心的总体参数。说白了&#xff0c;就是用样本信息来代替总体信息 例如&#xff1a;现在要调查某大学大学生的一个消费情况&#xff0c;假设全校大学生的平均消费金额为 μ…

pycharm一直打不开

一直处在下面的页面&#xff0c;没有反应 第一种方案&#xff1a; 以管理员身份运行 cmd.exe&#xff1b;在打开的cmd窗口中&#xff0c;输入 netsh winsock reset &#xff0c;按回车键&#xff1b;重启电脑&#xff1b;重启后&#xff0c;双击pycharm图标就能打开了&#xf…

[lesson17]对象的构造(上)

对象的构造(上) 对象的初始化 从程序设计的角度&#xff0c;对象只是变量&#xff0c;因此&#xff1a; 在栈上常见对象时&#xff0c;成员变量初始为随机值在堆上创建对象时&#xff0c;成员变量初始为随机值在静态存储区创建对象时&#xff0c;成员变量初始为0值 生活中的对…

fast_bev 学习笔记

目录 一. 简述二. 输入输出三. github资源四. 复现推理过程4.1 cuda tensorrt 版 训练修改图像数 一. 简述 原文:Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline FAST BEV是一种高性能、快速推理和部署友好的解决方案&#xff0c;专为自动驾驶车载芯片设计…

langchain 使用本地通义千问

langchian 使用已经下载到本地的模型&#xff0c;我们使用通义千问 显存&#xff1a;24G 模型&#xff1a;qwen1.5-7B-Chat&#xff0c;qwen-7B-Chat 先使用 qwen-7B-Chat&#xff0c;会报错用不了&#xff1a; 看了下是不支持这中模型&#xff0c;但看列表中有一个 Qwen 字样…

三种常见webshell工具的流量特征分析

又来跟师傅们分享小技巧了&#xff0c;这次简单介绍一下三种常见的webshell流量分析&#xff0c;希望能对参加HW蓝队的师傅们有所帮助。 什么是webshell webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境&#xff0c;主要用于网站管理、服务器管理、…

基于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包…