Python经典练习题(三)

文章目录

  • 🍀第一题
  • 🍀第二题
  • 🍀第三题

🍀第一题

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

本题需要我们掌握的知识点在于,判断字符串,是数字还是字母还是啥的,当然在Python内置中几乎都可以找到我们需要的
下表我将介绍一些常用的判断函数

判断函数描述
isalnum()判断是否为字母或数字(字母数字组合)
isalpha()判断是否为字母
isdigit()判断是否为数字
islower()判断是否为小写字母
isupper()判断是否为大写字母
isspace()判断是否为空白字符(空格、制表符、换行符等)
isnumeric()判断是否为数字字符(包括各种数字字符,如Unicode数字字符)
isdecimal()判断是否为十进制数字字符
isidentifier()判断是否为合法的标识符(Python标识符规则,如变量名检查)
# 输入一行字符
input_string = input("请输入一行字符:")# 初始化统计变量
letter_count = 0
space_count = 0
digit_count = 0
other_count = 0# 遍历输入字符串中的每个字符
for char in input_string:if char.isalpha():  # 判断是否为英文字母letter_count += 1elif char.isspace():  # 判断是否为空格space_count += 1elif char.isdigit():  # 判断是否为数字digit_count += 1else:other_count += 1# 输出统计结果
print(f"英文字母个数:{letter_count}")
print(f"空格个数:{space_count}")
print(f"数字个数:{digit_count}")
print(f"其他字符个数:{other_count}")

运行结果如下在这里插入图片描述


🍀第二题

找出1000以内的所有完数
完整代码如下

def find_perfect_numbers(limit):perfect_numbers = []  # 存储完数的列表for num in range(2, limit + 1):factors = [1]  # 初始化因子列表,并包括1作为第一个因子for i in range(2, num // 2 + 1):if num % i == 0:factors.append(i)  # 将因子添加到列表# 检查是否是完数if sum(factors) == num:perfect_numbers.append(num)return perfect_numbers# 找出1000以内的所有完数
limit = 1000
perfect_numbers = find_perfect_numbers(limit)# 输出结果
print(f"1000以内的完数有以下{len(perfect_numbers)}个:")
print(perfect_numbers)

运行结果如下
在这里插入图片描述
我们可以一步一步分析上述代码

我们首先定义了一个名为 find_perfect_numbers 的函数,该函数接受一个参数 limit,用于指定查找完数的上限。同时,我们初始化一个空列表 perfect_numbers 用于存储找到的完数。

接下来,我们使用一个 for 循环遍历从2到 limit(包括 limit)之间的所有整数。因为1不被视为完数,所以我们从2开始。

对于每个数字 num,我们初始化一个列表 factors,并将1添加为第一个因子。1 是每个正整数的因子,所以我们将它包含在列表中。

然后,我们使用另一个 for 循环遍历从2到 num 的一半(包括 num 除以2得到的整数部分)之间的数字。这是因为除了1以外的因子不可能大于 num 的一半。例如,对于数字6,除了1之外的因子最大不可能大于3

在内部循环中,我们检查 num 是否可以被 i 整除,如果可以,就将 i 添加到 factors 列表中,表示 i 是 num 的一个因子。

最后就是判断是不是相等了,然后函数调用了


🍀第三题

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

# 初始高度
height = 100  # 单位:米# 初始速度(向上)为0
velocity = 0# 重力加速度
gravity = 9.8  # 单位:m/s²# 落地和反弹的次数
n = 10# 初始化总距离
total_distance = 0# 计算第n次落地时的高度和总距离
for i in range(n):# 落地时,更新总距离和高度total_distance += heightheight /= 2# 计算反弹时的速度velocity = (velocity + gravity)**0.5# 计算反弹的高度height = height + velocity**2 / (2 * gravity)# 输出结果
print(f"第{ n }次落地时,共经过 { total_distance } 米")
print(f"第{ n }次反弹的高度为 { height } 米")

运行结果如下
在这里插入图片描述

自由落体运动的位移公式:这个公式用于计算物体在自由落体运动中的位移。对于球从初始高度h自由落下的情况,位移d可以通过以下公式计算:
在这里插入图片描述

其中,d是位移,g是重力加速度(9.8 m/s²),t是时间。

对于球的反弹运动,我们在计算高度时使用了这个公式。

速度的变化公式:在物理中,速度的变化与时间和加速度有关。我们使用以下公式来计算速度的变化:

在这里插入图片描述

其中,vf​是最终速度,vi​是初始速度,a是加速度(重力加速度),t是时间。

这个公式在计算每次反弹后速度的变化时使用。

在代码中,我们使用这些物理公式来模拟球的自由落体和反弹过程。首先,我们计算每次落地后的位移和速度,然后将其用于计算下次反弹的高度。这样,我们可以迭代地计算球的运动状态,直到第10次落地为止。


请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

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

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

相关文章

【新版】系统架构设计师 - 案例分析 - 架构设计<架构风格和质量属性>

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计<架构风格和质量属性>例题1例题2例题3例题4例题5例题6 架构 - 案例分析 - 架构设计<架构风格和质量属性> 例题1 某软件公司为…

大模型应用选择对比

大模型应用选择对比 1、知识库对比:dify、fastgpt、langchatchat 2、agent构建器选择:flowise、langflow、bisheng 3、召回率提升方案

从零开始搭建java web springboot Eclipse MyBatis jsp mysql开发环境

文章目录 1 第一步软件安装1.1 下载并安装Eclipse1.2 下载并安装Java1.3 下载并安装Apache Maven1.4 下载并安装MySQL 2 创建所需要的表和数据3 创建Maven 工程、修改jdk4 通过pom.xml获取所需要的jar包5 安装Eclipse的MyBatis插件6 创建文件夹以及jsp文件7 创建下面各种java类…

MySQL集群高可用架构之MHA

MHA 一、MHA概述1.1 为什么要用MHA?1.2 什么是 MHA?1.3 MHA 的组成1.4 MHA 的特点1.5 故障切换备选主库的算法1.5 MHA工作原理 二、MySQL MHA高可用实例2.1 架构搭建部分1)所有节点服务器安装MySQL2)主从节点服务器添加域名映射3&…

爬虫获取接口数据

上一讲讲的是获取静态网页数据的教程,适用于我们要爬取的数据在网页源代码中出现,但是还是有很多的数据是源代码中没有的,需要通过接口访问服务器来获得,下面我就来讲讲如何爬取这类数据。 以巨潮资讯网爬取比亚迪企业年报为例。…

人工智能的前世今生与未来

人工智能的前世今生与未来 一、 什么是人工智能二、人工智能的前世三、人工智能的今生四、人工智能的未来 一、 什么是人工智能 人工智能(Artificial Intelligence,简称AI)是指一种模拟人类智能行为的科学与技术。 人工智能通过计算机系统进…

美团2024届秋招笔试第一场编程[汇总](上课口胡一下)

一.小美的好矩阵 口胡:模拟题,数据和题意灰常清楚。 俩层循环枚举每个3﹡3的小矩阵,然后枚举每个小矩阵,12个if判断俩俩相邻的字符是否相等。这里有个技巧:拿出中间的字符,这样就能使用一个偏移…

【操作系统笔记十五】操作系统面试问题总结

1. 进程和线程的区别? 调度:进程是资源管理和分配的基本单位,线程是 CPU 调度程序执行的基本单位。切换:线程切换比进程切换要快得多,进程切换需要进行CPU上下文切换,而线程不需要。拥有资源: …

记录:移动设备软件开发(Android项目组织结构)

目录 Android项目管理结构ui管理ViewGroupUI控制 使用Android Studio开发Android应用简单、方便,除了创建Android项目,开发者只需要做两件事情:使用activity_main.xml文件定义用户界面:打开Java源代码编写业务实现。但对于一个喜欢…

Vue3+Ts+Vite项目(第十五篇)——tailwindcss安装及使用详解,css原子化如何实现

文章目录 一、装包二、初始化2.1 终端执行如下命令2.2 postcss.config.js 文件中2.3 tailwind.config.js 文件中 三、样式文件3.1 新建 tailwind.css 文件3.2 main.ts 中引入 四、使用4.1 写入类名即可4.2 简单讲解 五、插件5.1 安装 Tailwind CSS IntelliSense5.2 使用效果 六…

MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)

3. 函数 函数 是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。 3.1 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 演示如下: A. con…

uniapp——实现base64格式二维码图片生成+保存二维码图片——基础积累

最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。 这里写目录标题 效果图1.base64生成…

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

问题回溯 2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的) 商家中心报错(JSON串): {"code":-1,"msg":&…

【湖科大教书匠】计算机网络随堂笔记第1章(计算机网络概述)

目录 1.1、计算机网络在信息时代的作用 我国互联网发展状况 1.2、因特网概述 1、网络、互连网(互联网)和因特网 2、因特网发展的三个阶段 因特网服务提供者ISP(Internet Service Provider) 基于ISP的三层结构的因特网 3、因特网的标准化工作 4、因特网的…

在React中,什么是组件的状态(state)?如何更新组件的状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 创建和初始化状态⭐ 更新状态⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前…

力扣刷题笔记28——验证回文串/isalnum/逆序string

上一篇:力扣刷题笔记26——最小的k个数/快速排序学习/快排与冒泡的时间复杂度 文章目录 题目:我的方法:isalnum函数逆序string 题目: 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和…

智能金融决策策略,规则引擎在大数据金融行业的实战案例

在金融风控场景中,规则引擎是一个核心风险管理的利器,它预先设定一系列规则设定,用于便捷的评估和处理各种交易、客户行为或其他需要自动化决策、计算、推理判断的情况。 以下是一个详细的示例,说明规则引擎在金融风控中的使用。 …

conda创建虚拟环境安装aix360

目录 创建虚拟环境查看已有虚拟环境进入所创建的虚拟环境查看已安装的程序查看已安装的python模块配置镜像pipconda 安装aix360将环境添加到jupyter删除虚拟环境 创建虚拟环境 conda create -n aix360 python3.9查看已有虚拟环境 conda env list进入所创建的虚拟环境 activa…

【教程】视频汇聚/视频监控管理平台EasyCVR录像存储功能如何优化?具体步骤是什么?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。视频监控系统EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、…

uniapp 实现不同用户展示不同的tabbar(底部导航栏)

一、背景 最近在做一个uniapp开发的小程序遇到一个需求,希望不同用户登录后展示不同的tabbar页面,但是uniapp项目中的pages.json是只有一个list数组的,并且是不能写成动态效果,为了实现这个需求,便自定义了tabbar组件 …