Python开发与应用实验2 | Python基础语法应用
*本文是博主对学校专业课Python各种实验的再整理与详解,除了代码部分和解析部分,一些题目还增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人自己的补充,以方便大家额外学习、参考。
(本文分步更新,先更新代码部分,再更新解析部分。如果打开文章发现只有代码没有解析,说明还没更新完毕,可以过一阵子再来参考~)
目录
一、实验目的
二、实验内容
1、学生宿舍信息输入
2、超市抹零
3、个人用户登录
4、模拟斐波那契数列输出
5、银行金额大写汉字转换
6、天天向上的力量
7、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
8、一个雇员一周的总薪水
9、水仙花数是3位整数(100-199),它的各位数字立方和等于该数本身。请编写程序。
10、过滤敏感词
三、实验总结(将于本学期结束后补充)
一、实验目的
(1)能够使用分支结构和循环结构编写简单程序;
(2)能够使用math库进行简单的数值计算;
(3)通过设计型实验方式,结合具体的应用场景和业务需求,引导学生进行关键的技术分析,帮助学生理清编程思路,最后熟练运用 Python 语言进行程序设计,培养的了学生针对一般问题自主进行分析问题和解决问题的能力。
二、实验内容
1、学生宿舍信息输入
模拟学生宿舍信息输入,需要输入学生个人信息 姓名、性别、年龄、宿舍号、学院、专业、电话信息,并输出显示。
源代码:
def input_student_info():name = input("请输入学生姓名:")gender = input("请输入学生性别:")age = input("请输入学生年龄:")dormitory_number = input("请输入学生宿舍号:")college = input("请输入学生学院:")major = input("请输入学生专业:")phone = input("请输入学生电话:")student_info = {"姓名": name,"性别": gender,"年龄": age,"宿舍号": dormitory_number,"学院": college,"专业": major,"电话": phone}return student_infodef display_student_info(student_info):# 输出学生信息print("学生信息如下:")for key, value in student_info.items():print(f"{key}: {value}")if __name__ == "__main__":student_info = input_student_info()display_student_info(student_info)
列出测试数据和实验结果截图:

2、超市抹零
逛超市购物结账的时候,商家都会给顾客回馈一张清单小票,票面上的金额往往会精确到角或分。大部分商家通常会采用四舍五入的原则进行结算,不过有些商家为了让利顾客,会将小数点后面的数字金额全部抹零。下面使用数字类型转换实现收银抹零行为。
源代码:
amount = float(input("请输入购物金额(可以包含小数点):"))
rounded_amount = int(amount)
print(f"抹零后的金额为:{rounded_amount}元")
列出测试数据和实验结果截图:

3、个人用户登录
当用户登录时给3次机会。如果成功,显示欢迎xxx。如果登录失败,显示录入错误你还有x次机会。如果3次机会使用完毕,则显示登录超限,请明天再登录。
源代码:
def login(username, password):correct_username = "user" # 正确的用户名correct_password = "123" # 正确的密码if username == correct_username and password == correct_password:return Trueelse:return Falsedef main():login_attempts = 3 # 允许尝试d 次数while login_attempts > 0:username = input("请输入用户名:")password = input("请输入密码:")if(login(username,password)):print(f"欢迎{username}!")breakelse:login_attempts -= 1if login_attempts > 0:print(f"登录错误,你还有 {login_attempts} 次机会。")else:print("登录超限,请明天再登录。")if __name__ == "__main__":main()
列出测试数据和实验结果截图:


4、模拟斐波那契数列输出
用户输入指定的数列范围,正确输出结果。
源代码:
def fib(n):a, b = 0, 1result = []for _ in range(n):result.append(a)a, b = b, a + breturn resultif __name__ == "__main__":n = int(input("请输入要生成的斐波那契数列项数:"))sequence = fib(n)print(f"斐波那契数列前 {n} 项为:{sequence}")


5、银行金额大写汉字转换
银行电子支票业务在金额部分需要使用大写的汉字,因此需要将用户录入的数字信息转变为汉字。目前只需完成1~5位整数转换即可。
源代码:
def number_to_chinese(number):if number == 0:return "零"chinese_dict = {0: "零",1: "壹",2: "贰",3: "叁",4: "肆",5: "伍",6: "陆",7: "柒",8: "捌",9: "玖"}unit_dict = {0: "",1: "拾",2: "佰",3: "仟",4: "万"}result = []position = 0while number > 0:digit = number % 10if digit != 0:result.append(chinese_dict[digit] + unit_dict[position])else:# 零if result and result[-1] != "零":result.append("零")number //= 10position += 1return "".join(result[::-1])if __name__ == "__main__":number = int(input("请输入金额(1-5位整):"))if 1 <= number <= 99999:chinese_amount = number_to_chinese(number)print(f"大写汉字金额:{chinese_amount}")else:print("非法!")
列出测试数据和实验结果截图:
6、天天向上的力量
一年365天,每天进步1‰,累计进步多少?如果每天退步1‰,累计剩下多少?如果以3天打鱼2天晒网的学习态度持续学习一年,学习效果如何?
源代码:
def calculate():increase_rate = 0.001total_increase = (1 + increase_rate) ** 365total_decrease = (1 - increase_rate) ** 365return total_increase, total_decreasedef main():total_increase, total_decrease = calculate()print(f"每天进步1‰,一年的累计:{total_increase:.2%}")print(f"每天退步1‰,一年的累计:{total_decrease:.2%}")if __name__ == "__main__":main()
列出测试数据和实验结果截图:
7、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
源代码:
import mathdef func():for x in range(1, 10000):y = x + 100z = y + 168if math.sqrt(y).is_integer() and math.sqrt(z).is_integer():return xreturn Nonedef main():result = func()if result is not None:print(f"整数是:{result}")else:print("未找到")if __name__ == "__main__":main()
列出测试数据和实验结果截图:

8、一个雇员一周的总薪水
一个雇员一周的总薪水,等于其每小时的时薪,乘以其一周工作的正常小时数,再加上加班费。加班费等于总的加班时间,乘以每小时薪水的1.5倍。
编写一个程序,以每小时的薪水,常规工作时间,加班工作时间作为输入,显示一个雇员的总周薪。按照要求:每周常规工作时间不能超过40小时且不能小于等于0,正常工作时薪不能小于15元。
源代码:
def func(hourly_wage, regular_hours, overtime_hours):if regular_hours > 40 or regular_hours <= 0:return "不符合要求"if hourly_wage < 15:return "每小时薪水不能小于15元"regular_salary = hourly_wage * regular_hoursovertime_salary = hourly_wage * 1.5 * overtime_hourstotal_salary = regular_salary + overtime_salaryreturn total_salarydef main():hourly_wage = float(input("请输入每小时薪水(元):"))regular_hours = float(input("请输入常规工作时间(小时):"))overtime_hours = float(input("请输入加班工作时间(小时):"))result = func(hourly_wage, regular_hours, overtime_hours)if isinstance(result, str):print(result)else:print(f"雇员的总周薪为:{result:.2f}元")if __name__ == "__main__":main()
列出测试数据和实验结果截图:

9、水仙花数是3位整数(100-199),它的各位数字立方和等于该数本身。请编写程序。
源代码:
def get_number():lily_numbers = []for number in range(100, 1000):digit1 = number // 100digit2 = (number // 10) % 10digit3 = number % 10# 立方和sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3# 判断if sum_of_cubes == number:lily_numbers.append(number)return lily_numbersdef main():lily_numbers = get_number()if lily_numbers:print("3位水仙花数有:", lily_numbers)else:print("未找到3位水仙花数。")if __name__ == "__main__":main()
列出测试数据和实验结果截图:
10、过滤敏感词
敏感词一般是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明用语,论坛、网站管理员一般会设定一些敏感词,以防不当发言影响论坛、网站环境。若论坛、网站设置了敏感词,用户编辑的内容又含有敏感词,论坛和网站会将其判定为不文明用语,阻止内容的发送,或使用“*”替换其中的敏感词。
源代码:
import redef censor_text(text, sensitive_words):censored_text = textfor word in sensitive_words:# 创建正则表达式用的pattern = re.compile(re.escape(word), re.IGNORECASE)censored_text = pattern.sub('*' * len(word), censored_text)return censored_textdef main():sensitive_words = ["呵呵", "哈哈", "嘻嘻"] # 定义敏感词列表user_text = input("请输入文本内容:")censored_text = censor_text(user_text, sensitive_words)if censored_text != user_text:print("检测到敏感词,已替换为 '*':")print(censored_text)else:print("文本内容合法,无敏感词。")if __name__ == "__main__":main()
列出测试数据和实验结果截图:

三、实验总结(将于本学期结束后补充)
相关文章:
Python开发与应用实验2 | Python基础语法应用
*本文是博主对学校专业课Python各种实验的再整理与详解,除了代码部分和解析部分,一些题目还增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人自己的补充,以方便大家额外学习、参考。 &a…...
网络安全--防火墙旁挂部署方式和高可靠性技术
目录 一、防火墙 二、防火墙旁挂部署方式 使用策略路由实现 第一步、IP地址配置 第二步、配置路由 第三步、在防火墙上做策略 第四步、在R2上使用策略路由引流 三、防火墙高可靠性技术--HRP 拓扑图 第一步、配置SW1、SW2、FW1、FW2 第二步、进入防火墙Web页面进行配…...
c++最小步数模型(魔板)
C 最小步数模型通常用于寻找两个点之间的最短路径或最少步数。以下是一个基本的 C 最小步数模型的示例代码: #include<bits/stdc.h> using namespace std; const int N 1e5 5; vector<int> G[N]; int d[N]; bool vis[N];void bfs(int s) {queue<i…...
【每日一题Day337】LC460LFU 缓存 | 双链表+哈希表
LFU 缓存【LC460】 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key) - 如果键 key 存在于缓存中,则获取键的值&#x…...
解决老版本Oracle VirtualBox 此应用无法在此设备上运行问题
问题现象 安装华为eNSP模拟器的时候,对应的Oracle VirtualBox-5.2.26安装的时候提示兼容性问题,无法进行安装,具体版本信息如下: 软件对应版本备注Windows 11专业工作站版22H222621eNSP1.3.00.100 V100R003C00 SPC100终结正式版…...
法规标准-UN R48标准解读
UN R48是做什么的? UN R48全名为关于安装照明和灯光标志装置的车辆认证的统一规定,主要描述了对各类灯具的布置要求及性能要求;其中涉及自动驾驶功能的仅有6.25章节【后方碰撞预警信号】,因此本文仅对此章节进行解读 功能要求 …...
自动化和数字化在 ERP 系统中意味着什么?
毋庸置疑,ERP系统的作用是让工作更轻松。它可以集成流程,提供关键分析,确保你的企业高效运营。这些信息可以提高你的运营效率,并将有限的人力资本重新部署到更有效、更重要的需求上。事实上,自动化和数字化是ERP系统最…...
python nvidia 显卡信息 格式数据
python nvidia 显卡信息 格式数据. def get_gpu_memory():result subprocess.check_output([nvidia-smi, --query-gpupci.bus_id,memory.used,memory.total,memory.free, --formatcsv])# 返回 GPU 的显存使用情况,单位为 Minfo []for t in csv.DictReader(result…...
LeetCode每日一题:1993. 树上的操作(2023.9.23 C++)
目录 1993. 树上的操作 题目描述: 实现代码与解析: 模拟 dfs 原理思路: 1993. 树上的操作 题目描述: 给你一棵 n 个节点的树,编号从 0 到 n - 1 ,以父节点数组 parent 的形式给出,其中 p…...
绿色计算产业发展白皮书:2022年OceanBase助力蚂蚁集团减排4392tCO2e
9 月 15 日,绿色计算产业联盟在 2023 世界计算大会期间重磅发布了《绿色计算产业发展白皮书(2023 版)》。蚂蚁集团作为指导单位之一,联合参与了该白皮书的撰写。 白皮书中指出,落实“双碳”战略,绿色计算已…...
阿里云通义千问14B模型开源!性能超越Llama2等同等尺寸模型
9月25日,阿里云开源通义千问140亿参数模型Qwen-14B及其对话模型Qwen-14B-Chat,免费可商用。Qwen-14B在多个权威评测中超越同等规模模型,部分指标甚至接近Llama2-70B。阿里云此前开源了70亿参数模型Qwen-7B等,一个多月下载量破100万࿰…...
两横一纵 | 寅家科技发布10年新征程战略
2023年9月22日,寅家科技“寅路向前”10年新征程战略发布会在上海举办,来自投资领域的东方富海、深创投、高新投等知名投资机构,一汽大众、一汽红旗、奇瑞汽车等主机厂,国家新能源汽车技术创新中心、梅克朗、芯驰科技、思特威等合作…...
二值贝叶斯滤波计算4d毫米波聚类目标动静属性
机器人学中有些问题是二值问题,对于这种二值问题的概率评估问题可以用二值贝叶斯滤波器binary Bayes filter来解决的。比如机器人前方有一个门,机器人想判断这个门是开是关。这个二值状态是固定的,并不会随着测量数据变量的改变而改变。就像门…...
【刷题笔记9.25】LeetCode:相交链表
LeetCode:相交链表 一、题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 二、分析及代码 方法一:使用哈希Set集合 (注意…...
打造本地紧密链接的开源社区——KCC@长沙开源读书会openKylin爱好者沙龙圆满举办...
2023年9月9日,由开源社联合 openKylin 社区举办的 KCC长沙开源读书会&openKylin 爱好者沙龙,在长沙圆满举办。这是 KCC长沙首次正式进入公众视野,开展开源交流活动,也是 openKylin 社区长沙首场线下沙龙。长沙地区及其周边的众…...
Python 笔记03(多线程)
一 打开命令行,查看本机IP windows r 命令行输入:cmd ipconfig 然后查看IPv4的地址:192.168.1*6.1 ipconfig 二 函数式多进程 from multiprocessing import Process import os, timedef func(name):print(进程的ID:, os.g…...
mysql-4:SQL的解析顺序
SQL语句的解析顺序 文章目录 SQL语句的解析顺序编写顺序与解析顺序解析顺序关键字FROMONOUTER JOINWHEREGROUP BYHAVINGSELECTDISTINCTORDER BYLIMIT 解析流程流程分析流程说明WHERE条件解析顺序 编写顺序与解析顺序 编写顺序 SELECT DISTINCT < select_list > FROM &l…...
如何通过优化Read-Retry机制降低SSD读延迟?
近日,小编发现发表于2021论文中,有关于优化Read-Retry机制降低SSD读延迟的研究,小编这里给大家分享一下这篇论文的核心的思路,感兴趣的同学可以,可以在【存储随笔】VX公号后台回复“Optimizing Read-Retry”获取下载链接。 本文中主要基于Charge Trap NAND架构分析。NAND基…...
matlab自动生成FPGA rom源码
1 matlab 源码 close all clear all clci=0:1:(300000-100-1); x=300000./(100+i); x=x./2; x=round(...
消息队列(RabbitMQ+RocketMQ+Kafka)
消息队列是一种应用程序之间通过异步通信进行数据交换的通信模式 消息队列的类型: 点对点,一对一的消息传递模型,其中每个消息只能被一个接收者消费。发送者将消息发送到队列中,而接收者从队列中获取消息并进行处理,…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...


