PYthon程序控制流程综合编程题目+相关笔记

问题一:图书借阅管理系统

题目描述

某图书馆需要一个简单的借阅管理系统,规则如下:

1. 图书可借阅天数根据图书类型不同:

   普通书籍:14天          杂志:7天          参考书:3天          稀有书籍:不可外借

2. 读者等级决定可同时借阅的最大数量:

   普通读者:最多3本           学生读者:最多5本            教师读者:最多10本

3. 程序功能:

   接收用户输入的读者等级(普通读者/学生读者/教师读者)

   接收用户想要借阅的图书类型及数量

   检查是否符合借阅规则(类型是否可借、数量是否超限)

   输出借阅结果:可借阅的图书类型、可借天数、是否超限等信息

   对输入进行合法性校验(必须从指定选项中选择)

代码:

代码运行结果展示(以学生读者借阅参考书共借3本为例):

问题二:学生成绩等级评定系统

题目描述

实现一个学生成绩等级评定系统,规则如下:

1. 成绩为0-100之间的整数

2. 等级评定标准:

90-100分:优秀      80-89分:良好     70-79分:中等     60-69分:及格      0-59分:不及格

3. 额外规则:

若为班干部,在原等级基础上可提升一个等级(优秀不变)

若有迟到记录(超过3次),在原等级基础上降低一个等级(不及格不变)

4. 程序功能:

 接收用户输入的成绩(整数)、是否班干部(是/否)、迟到次数(整数)

 校验输入合法性(成绩在0-100之间,迟到次数非负)

 计算最终等级并输出

 循环处理多个学生的成绩评定,直到用户选择退出

代码:

代码运行结果展示(以学生成绩78,是班干部,迟到1次为例):

问题三:数字密码锁模拟

题目描述

模拟一个数字密码锁的工作过程,规则如下:

1. 初始密码为四位数:1234

2. 用户有3次输入密码的机会

3. 每次输入后:

若密码正确,提示"密码正确,锁已打开"并结束程序

若密码错误,提示"密码错误,剩余X次机会"

若输入的不是四位数,提示"请输入四位数密码",不消耗尝试次数

4. 额外功能:

连续输错3次后,提示"密码错误次数过多,锁已锁定"

锁定后询问是否重置(y/n),输入y则重新获得3次机会,输入n则退出程序

代码:

代码运行结果展示(分别以密码1345,1235,3456为例):

问题四:整数序列分析工具

题目描述

实现一个整数序列分析工具,功能如下:

1. 接收用户输入的10个整数(范围-100到100)

2. 对输入的整数序列进行分析:

统计正数、负数和零的个数

找出序列中的最大值和最小值

计算所有整数的总和

统计能被3整除的数的个数

3. 输入校验:

确保输入的是整数

确保整数在-100到100范围内

输入不合法时提示错误并重新输入当前数字

代码:

代码运行结果(以3,45,66,88,5,42,68,52,99,69为例):

问题五:简易日历查询

题目描述

实现一个简易日历查询功能,规则如下:

1. 假设2024年1月1日是星期一

2. 已知各月天数:

1,3,5,7,8,10,12月:31天            4,6,9,11月:30天          2月:29天(2024是闰年)

3. 程序功能:

接收用户输入的月份(1-12)和日期(1-当月最大天数)

计算并输出该日期是星期几(星期一到星期日)

校验输入合法性(月份范围1-12,日期不超过当月最大天数)

允许用户多次查询,直到选择退出

代码:

代码运行结果展示(以5月26日为例):

问题六:三角形类型判断

编写一个程序,输入三角形的三条边长,判断:

1. 是否能构成三角形(任意两边之和大于第三边)
2. 如果能构成三角形,进一步判断是等边、等腰还是一般三角形     

代码:

代码运行结果展示(以3,6,8为例):

问题七:题目:实现一个猜数字游戏:

程序随机生成1 - 100
的整数,用户每次输入猜测的数字,程序提示“太大了”“太小了”,直到猜对为止,最后统计用户猜了多少次。

要求:用while 循环实现,结合random模块生成随机数。

代码:

代码运行结果展示:

问题八:

打印九九乘法表(for循环)

for循环打印等腰三角形
     *
    ***
   *****
  *******
 *********

代码:

代码运行结果展示:

Python01
1.语言特性:
简单易学:语法简单易懂。
胶水语言:能将多种编程语言拼接在一起。
应用广泛:可用于开发、网站、网络爬虫、数据分析、人工智能等领域。
模块丰富:拥有丰富的第三方模块,可直接使用。
解释型与脚本语言:无需全部编译,写一行代码翻译一行。
运行与执行:
命令行交互:通过Windows + R ,输入CMD进入命令行,输入Python进入解释器,可实时执行代码。
文件执行:Python文件后缀为.py ,可通过“Python 空格 文件路径”执行,要注意工作路径准确,可使用绝对路径或相对路径。
书写规范:语句中出现的括号、引号等均为英文格式;用井号“”作为单行注释符;Python使用回车代替分号,对缩进要求严格。
2.开发工具:
Notepad等:可用Notepad、Dreamweaver等编写Python代码。
PyCharm:建议下载社区版,安装时提前建文件夹选路径;创建项目时可选择虚拟环境或现有环境;运行时注意选择正确文件。

Python02

Excel操作与Python编程基础

1.Excel操作:

列宽调整:Excel中列宽不够数据显示为井号,双击列表右侧边框可调整。

单元格操作:输入数据后按Shift+回车,确认输入并选中上一单元格;按Ctrl+分号可快速插入系统当前日期;插入多个连续空行需先选中对应行数。

默认字体设置:在Excel后台常规选项中设置默认字体和字号。

2.Python编程基础:

变量概念:变量是存储数据的容器,不同编程语言声明变量方式不同,Python中变量名=变量值,无需声明类型。

变量赋值:Python中“=”表示赋值,将右边内容赋给左边变量,可重新赋值,用type函数检测数据类型。

变量命名规则:变量名由字母、数字、下划线组成,不能以数字开头,对大小写敏感,不使用关键字和保留字。

交换变量值:可创建临时变量交换两个变量的值,变量存储的是数据内存地址。

数据类型转换:用户输入默认是字符串格式,做四则运算需转换数据类型,分隐式(系统自动)和显式转换。

Python03

1.基础概念:变量存储数据的内存地址,基本数据类型有int、float、bool、str;bool类型中默认所有非0数字为True,如int(True)结果为1。

2. 输入车输出
eg name = "zhangsan"
     print("name")→打印出为 name ×
     print(name)→打印出为 zhangsan √
   tips:sep的值是分割参数值的,# end决定打印结尾(与下一个的连接)
3. 基本数据类型:数字型(整数型(int)、浮点型(float)、字符串(str)、复数、布尔(bool)。  查看类型type()

    复杂数据类型:列表、字典、集合、元组

4.原码:十进制数对应的二进制表示
反码:符号位不变,其余为取反
补码:反码+1
例:-11+8
  -11 原10001011 反11110100 补11110101
  8 原00001000
-11与8相加得11111101(补码和)→反码11111100 →原码10000011
5. #& 按位与 两位都为1,则为1

   #~:按位取反,对所有位上的都取反

6.算数运算符:包括/(除法)、//(整除)等;“=”是赋值运算符,a+=1等价于a = a + 1。

7.比较运算符:用于比较数据,结果为布尔值。

8.等于(==):如print(256==256)结果为True。

9.不等于(!=):如print(1 != 1)结果为False。

10.逻辑运算符:

            and(逻辑与):两边为真才为真,如print(2>1 and 1==2)结果为False。

            or(逻辑或):一真则真,如print(2>1 or 1==2)结果为True。

            not(取反):如print(not 2>1)结果为False。

11.成员运算符:用于检测某个数据是否在某个序列中,有in和not in两种。如print("zhangsan" in ["zhangsan",2,3])结果为True。

12.位运算符:基于二进制进行运算,涉及半导体、二极管等底层概念;数据的二进制最左边第一个二进制位为符号位,1表示负数,0表示正数。

13.原码、反码、补码:原码是十进制数字对应的二进制表示,反码是符号位不变其余位取反,补码是反码+1,负数基于补码进行运算。

Python04

程序代码的执行过程

顺序结构                    选择结构                 循环结构

1.for循环

核心作用:用于遍历可迭代对象(如列表、字符串、元组、字典等),遍历次数由可迭代对象的元素数量决定。

基本语法:

python

for 变量名 in 可迭代对象:

常见场景:

遍历序列:如 for i in [1,2,3]: print(i) (依次打印1、2、3)。

2.range( ) 函数:生成一段不可改变的整数数列,语法为 range(起始值, 结束值, 步长) (结束值不包含),例 for i in range(1, 5):

                  print(i) (打印1-4)。

range(num1,num2,step)     取一段从num1到num2-1,步长为step的数值组成的整数序列

3.循环控制语句

 break:立即终止当前所在的循环,跳出循环体执行后续代码。例:遍历列表时遇到指定元素就停止, for i in [1,2,3]: if i == 2: break; print(i) (仅打印1)。

continue:跳过当前循环的剩余代码,直接开始下一次循环。例: for i in [1,2,3]: if i == 2: continue; print(i) (打印1、3,跳过2)。

else子句:循环正常结束(未被 break 终止)时,会执行 else 中的代码;若被 break 终止则不执行。例: for i in range(3): print(i) else: print("循环结束") (打印0、1、2后,再打印“循环结束”)。

4.while 在条件满足时(在条件为真时),执行循环体的代码

   声明变量 i = 1

   while  i <=10:

          #循环体

          #更改变量值

          #i += 1

Python05 、内存模型和列表

1.总结之前学过的知识:

顺序、选择(在不同的条件下执行不同的代码块)

if 条件:

条件成立时执行的代码

elif 条件 2:

条件 2 成立时执行的代码

else:以上条件全部不成立时执行的代码)、循环(让一段代码执行多次for、while)

for: 遍历序列的         for 临时变量      in 序列:

break:直接终止循环  continue:结束本次循环,开始下一循环

2.栈内存:存储临时数据的存储,存储速度快,稳定性一般

3.堆内存:存储长期存储数据,速度慢,稳定性强

4.常量区:永久存储软件中经常使用的数据

5.资源区、代码区:程序的代码在此暂时存储

6.容器: 可以同时存储多个数据的东西

7.列表:有序的、可变的元素集合(列表中的每个数据),元素的数据类型不变,可以是混合数据类型,可以进行迭代

列表创建:1.可以直接[ ]创建

变量 = [元素1,元素2......]

列表元素的访问:1.索引下标访问(正向从左往右从0开始,逆向从右往左开始从-1开始
                             2.切片:print(list1[:2])第一个参数没写默认从0开始(2的位置如果是-1就是倒叙)

  eg.   a = list(input("请用户输入自己的姓名:"))
          print(a[::-1])
8.重新赋值:列表名[索引下标] = 新的值

9.列表的拼接:直接用+相连或者用乘号

10.检查元素是否在列表中 in

11.append(),追加单个元素到列表末尾,extend()追加多个元素在末尾,insert可以在任意位置追加(追加到哪里,追加的内容)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值