【Python】六、程序流程控制综合训练

news2025/1/20 10:46:37

文章目录

  • 实验目的
  • 一、列表定义
  • 二、元组定义
  • 三、列表的常用操作
      • append() -- 向列表的尾部添加元素
      • insert(index,object) -- 向指定的下标处添加元素
      • sort()-- 进行排序(从下到大 int类型)可以对字母进行排序(ASCII值)类型不能混
      • index()-- 返回的是元素在列表中的第一个位置
      • reverse()-- 将列表进行翻转
      • remove()-- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
      • count()--返回的是某个元素在列表里面的个数
      • clear()--------- 清除元素
      • copy()-------- 浅拷贝对象 不等价与 =
      • extend()-------- 合并列表
      • pop()-------删除列表尾部的元素(与append相反),返回删除的元素,pop(i) i指的是下标
  • 四、身份证真伪辨
    • 参考代码
    • 实验截图


实验目的

  1. 掌握列表与元组的的定义和使用;
  2. 培养学生动手查阅资料能力和解决实际问题的能力和团队合作能力。

一、列表定义

       列表是Python中最基本的数据结构,列表中的每个元素都分配一个位置,一个元素对应一个位置,第一个索引是0,第二个索引是1,依此类推。
       列表:可以存储任意数据类型


二、元组定义

       Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。


三、列表的常用操作

append() – 向列表的尾部添加元素

在这里插入图片描述


insert(index,object) – 向指定的下标处添加元素

在这里插入图片描述


sort()-- 进行排序(从下到大 int类型)可以对字母进行排序(ASCII值)类型不能混

在这里插入图片描述


index()-- 返回的是元素在列表中的第一个位置

在这里插入图片描述


reverse()-- 将列表进行翻转

在这里插入图片描述


remove()-- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错

在这里插入图片描述


count()–返回的是某个元素在列表里面的个数

在这里插入图片描述


clear()--------- 清除元素

在这里插入图片描述


copy()-------- 浅拷贝对象 不等价与 =

在这里插入图片描述


extend()-------- 合并列表

在这里插入图片描述


pop()-------删除列表尾部的元素(与append相反),返回删除的元素,pop(i) i指的是下标

在这里插入图片描述


四、身份证真伪辨

       中华人民共和国居民身份证号码由 17 位数字和 1 位校验码组成。 其中,前 6 位为所在地编号,第 7~14 位为出生年月日,第 15~17 位为登记流水号,其中 第 17 位偶数为女性,奇数为男性。 校验码的生成规则如下: 将前面的身份证号码 17 位数分别乘以不同的系数。第 1~17 位的 系数分别为: 7,9,10,5,8 4,2,1,6,3,7,9,10,5,8,4,2,将这 17 位数字和系数相乘的结果相加,用相 加的结果与 11 求模,余数结果只可能是 0,1,2,3,4,5,6,7,8,9,10 这 11 个数字,它们分别对应 的最后一位身份证的号码为 1,0,x,9,8,7,6,5,4,3,2。例如,如果余数是 2,最后一位数字就是罗 马数字 x,如果余数是 10,则身份证的最后一位就是 2。 请设计程序实现输入 18 位身份证号,辨别其真伪。若为真,则进一步判断性别: 若不是 18 位或身份证号非法,则提示重新输入。提示:定义如下两个元组,对输入字符串进行遍历。


参考代码

factor=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
last=("1","0","x","9","8","7","6","5","4","3","2")
Id_char = list(input("请输入身份证号:"))
flag=True
while True:
    if flag == False:
        Id_char = list(input("输入有误!请重新输入身份证号:"))
    sum = 0
    if len(Id_char)!=18:
        flag = False
    elif len(Id_char) ==18:
        for i in Id_char:
            if (i<'0' or i>'9') :
                if Id_char.index(i)==17:
                    if i == 'x' or i =='X':
                        flag = True
                    else :
                        flag =False
                        break
                else :
                    flag =False
                    break
            else:
                flag=True
    if flag == False:
        continue
    else :
        for i in range(0, 17):
            sum = sum+int(Id_char[i]) * factor[i]
        a = sum % 11
        if last[a] == Id_char[17].lower():
            if int(Id_char[16]) % 2 == 0:
                print("身份证合法,为女性")
            else:
                print("身份证合法,为男性")
            flag = True
        else:
            flag = False
    if flag ==True:
        break

实验截图

在这里插入图片描述


在这里插入图片描述


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

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

相关文章

多态原理、虚表指针与虚基表的内存布局。

文章目录前言多态虚函数静态类型与动态类型重载、覆盖和隐藏的区别final和override虚函数的默认实参虚析构函数在构造函数和析构函数中调用虚函数多态原理各种形式继承的虚函数内存布局单一继承无覆盖单一继承有覆盖单一虚拟继承有覆盖多继承无覆盖多继承有覆盖菱形继承有覆盖菱…

STC/MLLT--学习笔记

gmm建模方差使用对角矩阵的前提是假设特征之间相互独立&#xff0c;使用full或者block-diagonal矩阵可以对相关性的特征建模&#xff0c;但是参数增多。为了解决使用这个问题&#xff0c;有两种方法&#xff1a; feature-space 使用DCT或者LDA去相关model-space 不同的模型可以…

连续时间系统的时域分析

一.微分方程的求解 1.求微分方程的齐次解 &#xff08;1&#xff09;写出特征方程并求解 2.写出齐次解 2.求微分方程的特解 已知 &#xff08;1&#xff09;根据表2-2&#xff0c;写出特解函数 ​​​​​​​ &#xff08;2&#xff09;带入并求解 3.完全解 二.微分方…

基于GRU与注意力机制实现法语-葡萄牙语的翻译详细教程 数据+代码

本教程通过机器翻译的例子来介绍和实现一个简单的机器翻译方法,机器翻译是指将一段文本从源语言(如语言A)自动翻译到目标语言(如语言B)。本教程通过加载和预处理数据、构造编码器和解码器、训练模型、结果评价得到一个可以应用的机器翻译工具。 1.2 任务描述 神经机器翻译方…

uni-app 介绍及使用

一、什么是uni-app uni-app由dcloud公司开发的多端融合框架&#xff0c;是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到iOS、Android、Web&#xff08;响应式&#xff09;、以及各种小程序&#xff08;微信/支付宝/百度/头条/飞…

单文件组件环境配置步骤---vue-cli版

因为浏览器只认识&#xff1a;html、css、js文件&#xff0c;其他一概不认识&#xff1b; 所以要把单文件组件的vue文件转化为上面浏览器能认识的文件&#xff1b; 有两种环境配置途径&#xff1a; 第一种就是&#xff1a;配置webpack环境&#xff0c;要下载很多东西&#x…

灰色预测GM(1.1)模型及matlab程序负荷预测

灰色GM(1.1)预测模型 GM&#xff08;1.1&#xff09;模型由包含单一变量的一阶微分方程构成的模型&#xff0c;是灰色模型中最常用的模型。 设有负荷变量为的原始数据列: (3-1) 生成一阶累加数据列&#xff1a; (3-2) 其中 (3-3) 一阶微分方程的解呈指数增长形式&#xff0c…

URLDNS利用链分析

目录 前言&#xff1a; (一&#xff09;原理 &#xff08;二&#xff09;利用链 再来分析 URLDNS.java 这个文件&#xff0c;并且在入口处设置断点进行调试&#xff1a; &#xff08;三&#xff09; POC 参考资料 前言&#xff1a; URLDNS是Java反序列化中比较简单的一个链…

引擎入门 | Unity UI简介–第2部分(1)

欢迎回来! 在这个三部分教程系列的第二部分中&#xff0c;你将学习如何在用户界面中加入动画。 在上一个部分中你学习并创建了一个带有两个按钮的场景&#xff0c;也学会了如何使用图像、按钮和文本UI控件&#xff0c;并学习了RectTransform、Anchors和Pivots等核心概念&#…

元宇宙的核心技术之我见

14天学习训练营导师课程&#xff1a; 张子良《 元宇宙体系结构、关键技术和实践探索》 前言 提起元宇宙&#xff0c;相比读者都有所耳闻&#xff0c;而且元宇宙最近两年时间里异常的火&#xff0c;堪比之前的人工智能的火爆场景&#xff0c;甚至要超越人工智能的火爆度了。但是…

kubernetes namespace pod label deployment介绍与命令

kubernetes namespace pod label deployment 介绍与命令 1&#xff1a; namespace Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群中的所有的Pod都是可以…

STM32实战总结:HAL之wifi

关于无线传输的基础知识&#xff0c;参考&#xff1a; 无线通信技术概览_路溪非溪的博客-CSDN博客 学了这么多&#xff0c;发现信息技术主要就是数据的存储、处理以及传输这几个过程。通过各种各样的技术&#xff0c;来实现这几个目标。 wifi模块 现在常用的是wifi模块&#xf…

今天面了个腾讯拿38K出来的,让我见识到了基础的天花板

各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c;他山之石&#xff0c;可以攻玉&#xff0c;多看多借鉴还是有帮助的&#xff0c;这次腾讯也在疯狂…

自动化测试如何实施落地?详细教程来了

目录 前言 落地前&#xff1a;分析因素 开展前&#xff1a;评估价值 落地过程&#xff1a;解决问题 推广运营&#xff1a;关注反馈&输出价值 文末总结 重点&#xff1a;配套学习资料和视频教学 前言 这篇文章&#xff0c; 就聊聊自动化项目如何落地&#xff0c;以及…

25. [Python GUI] PyQt5中拖放的基本原理

PyQt5的拖放 拖放涉及到的主要的一些类如下所示&#xff1a; 一、拖放的基本原理 1.1 拖放的动作 拖放操作包括两个动作&#xff1a; 拖动(drag)放下(drop 或称为放置)。 当被拖动时拖动的数据会被存储为 MIME 类型的对象&#xff0c; MIME 类型使用 QMimeData 类来描述。…

C++——new和delete关键字

什么是new和delete new和delete不是函数&#xff0c;和sizeof一样都是C定义的关键字&#xff0c;不同的是sizeof在编译时就可以确定其返回值&#xff0c;而new和delete相对复杂 示例 string *ps new string("hello world");如果换做c语言&#xff0c;上面这句话就…

数据库——数据库备份与恢复

目录 原因&#xff1a; 数据库的备份与恢复&#xff1a; 1、使用MySQLdump命令备份 2、恢复数据库 表的导入和导出 1、表的导出 2、表的导入 原因&#xff1a; 尽管采取了一些管理措施来保证数据库的安全&#xff0c;但是不确定的意外情况总是有可能造成数据的损失&#xff0c;…

数据库理论 05 关系数据库设计——基于《数据库系统概念》第七版

通过E-R图转换得出一组关系模式后 **选择1&#xff1a;**把一些关系模式合并为更大的关系 —— 会产生过多的数据冗余 inst_dept(ID, name, salary, dept_name, building, budget)如果通过E-R模型转换得出如下两个关系模式 sec_class(sec_id, building, room_number) and se…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java计算机专业建设管理系统3286d

面对老师五花八门的设计要求&#xff0c;首先自己要明确好自己的题目方向&#xff0c;并且与老师多多沟通&#xff0c;用什么编程语言&#xff0c;使用到什么数据库&#xff0c;确定好了&#xff0c;在开始着手毕业设计。 1&#xff1a;选择课题的第一选择就是尽量选择指导老师…

ThreadLocal源码解析 1.运行原理

ThreadLocal源码解析—运行原理 简介 ThreadLocal 类用来提供线程内部的局部变量&#xff0c;这种变量在多线程环境下访问&#xff08;通过 get 和 set 方法访问&#xff09;时能保证各个线程的变量相对独立于其他线程内的变量&#xff0c;分配在堆内的 TLAB 中。 ThreadLoc…