【Python】编程练习的解密与实战(二)

news2025/1/11 11:39:40

​🌈个人主页:Sarapines Programmer
🔥 系列专栏:《Python | 编程解码》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

🪐1. 初识Python

🪐2. 实验报告二

🌍实验目的

🌍实验要求

🌍实验代码

🌍实验结果

🌍实验体会

📝总结


🪐1. 初识Python

Python是一种高级、通用、解释型的编程语言,具有简洁而清晰的语法,被广泛应用于软件开发、数据科学、人工智能等领域。以下是Python技术的一些主要特点和应用领域:

  1. 易学易用: Python的语法设计简单,容易学习和理解。这使得它成为初学者和专业开发人员的首选语言之一。

  2. 开源: Python是开源的,任何人都可以查看、修改和分发其源代码。这为开发者提供了自由和灵活性。

  3. 跨平台: Python可在多个操作系统上运行,包括Windows、Linux和macOS,使其成为跨平台开发的理想选择。

  4. 强大的社区支持: Python拥有庞大的全球开发者社区,用户可以获得丰富的文档、库和工具,方便解决各类问题。

  5. 广泛应用领域: Python在多个领域都有应用,包括Web开发、数据科学、机器学习、人工智能、自动化测试、网络编程等。

  6. 丰富的第三方库: Python拥有丰富的第三方库和框架,如NumPy、Pandas、Django、Flask等,提供了强大的工具来简化开发流程。

  7. 动态类型: Python是一种动态类型语言,允许开发者更加灵活地进行变量和对象的操作。

  8. 面向对象编程: Python支持面向对象编程,使得代码结构更加模块化、可维护性更强。

总体而言,Python是一门功能强大、灵活易用的编程语言,适用于各种规模和类型的项目,从小型脚本到大型应用,都能够得心应手。


🪐2. 实验报告二

🌍实验目的

  • 掌握Jupyter Notebook编程工具的基本用法:

    • 学习如何使用Jupyter Notebook进行编程。
    • 掌握Jupyter Notebook的基本界面和操作方法。
  • 理解并熟悉函数声明、定义及调用:

    • 理解函数的声明,即如何定义一个函数的名称和参数。
    • 学习如何在Python中定义函数,包括函数体内的代码块。
    • 熟悉函数调用的方法,了解如何使用函数并传递参数。

🌍实验要求

  • 输入2000年后的某年某月某日,判断这一天是从2000年1月1日开始算起的第几天?

  • 公务员面试设计一个程序帮助评委现场去掉一个最低分和一个最高分,再计算面试者平均分。

  • 生成偶数个随机数,将前一半升序排列,后一半按降序排列。

  • 统计一个txt的英文文档,里面包含哪些单词,各个单词出现的频率如何。


🌍实验代码

1. 输入2000年后的某年某月某日,判断这一天是从2000年1月1日开始算起的第几天?

date=input("请按照2000-01-21格式输入日期:")

year,month,day=int(date[0:4]),int(date[5:7]),int(date[8:])
print(year,month,day)

def DATE(year,month,day):
    "计算这一天是从2000年1月1日开始算起的第几天"
    sum=0 
    def Month(month):
        nonlocal sum
        if month==1:
            sum+=0
        elif month==2:
            sum+=31
        elif month==3:
            sum+=59
        elif month==4:
            sum+=90
        elif month==5:
            sum+=120
        elif month==6:
            sum+=151
        elif month==7:
            sum+=181
        elif month==8:
            sum+=212
        elif month==9:
            sum+=243
        elif month==10:
            sum+=273
        elif month==11:
            sum+=304
        elif month==12:
            sum+=334
        return sum
            
    def Year(year):
        nonlocal sum
        for i in range(2000,year,1):
            if (year%400==0 or (year%4==0 and year%100!=0)):
                sum+=366
            else: sum+=365   #该年不为闰年,日数为365天
        return sum
    Month(month)
    Year(year)
    sum+=(day-1)
    print("%s是从2000年1月1日开始算起的第%d天"%(date,sum))

DATE(year,month,day)

2. 公务员面试设计一个程序帮助评委现场去掉一个最低分和一个最高分,再计算面试者平均分。

score=input("请输入评委打分项列表(以空格隔开):")

def avag(list):
    "求均为字符串类型列表的平均值"
    add,count=0,0
    for i in range(len(list)): #字符串元素转化为整型元素
        list[i]=int(list[i])
    list.sort()
    for i in range(1,len(list)-1,1):
        add+=list[i]
        count+=1
    print("评委现场去掉一个最低分和一个最高分,面试者平均分为:%.2f"%(add/count))

avag(score.split(" "))

3. 生成偶数个随机数,将前一半升序排列,后一半按降序排列。

import numpy as np
number=np.random.randint(1, 100)  #生成1至100区间内的任意随机数
if number%2!=0:   #若随机数不为偶数,则加1
    number+=1
number

list=np.random.rand(number)
list

def asc_des(list):
    "输入偶数个随机数,将前一半升序排列,后一半按降序排列"
    mid=int(len(list)/2)
    for i in range(mid):
        list1=sorted(list[:mid],reverse=False)  #前半部分升序
    for i in range(mid,len(list),1):
        list2=sorted(list[mid:],reverse=True)   #后半部分降序
    print("输入偶数个随机数,将前一半升序排列,后一半按降序排列:",list1+list2)

asc_des(list)

4. 统计一个txt的英文文档,里面包含哪些单词,各个单词出现的频率如何。

import numpy as np
import pandas as pd

str=open("./words.txt",mode="r").read()
str

def num(file):
    count=1  #count=0代表当前不为字母   count=1代表当前为字母
    b=[]
    for i in range(len(str)):
        if ("a"<=str[i]<="z" or "A"<=str[i]<="Z")and (count==1):
                count=1
                b.append(str[i])
        else: 
            count=1
            b.append(" ")
    return b

words=num(str)
words="".join(words)
words
wordslist=words.strip().split() #去掉两边空格,按照空格分割成列表
wordslist2=set(wordslist)   #利用集合唯一性去除重复单词
wordslist2=list(wordslist2) #还原成列表

a=[]
for i in range(len(wordslist2)):
    a.append(wordslist.count(wordslist2[i]))
a

c=dict(zip(wordslist2,a))
c 

k=pd.DataFrame(a,index=wordslist2,columns=["单词次数"])
k

k["单词频数"]=k["单词次数"]/k["单词次数"].sum()
k

🌍实验结果

1.问题一

2.问题二

3.问题三

4.问题四


🌍实验体会

  1. 问题一 - 计算日期对应的天数:

    • 使用字符串切片提取年、月、日,并使用int()进行转化。
    • 编写DATE函数,嵌套判断年、月、日的天数,考虑闰年的特殊情况。
  2. 问题二 - 计算平均分(去掉最高分和最低分):

    • 利用split将输入的字符串转化为列表。
    • 使用for循环将每个字符串类型数字转化为整型,排序后去除两端,求和取平均。
  3. 问题三 - 生成随机数并排序:

    • 生成偶数个1至100的整型随机数,如果不为偶数则加1。
    • 使用for循环取前半部分和后半部分,利用sort()排序,前半部分升序,后半部分降序。
  4. 问题四 - 统计英文文档中单词及频率:

    • 读取txt文档,使用count计数器判断字母与非字母。
    • 利用列表b[]保存读取的单词,去除多余符号,转化为str,使用strip()、split()处理。
    • 利用集合去重,统计各单词出现次数,使用pandas的DataFrame表示单词及频率。

📝总结

Python领域就像一片未被勘探的信息大海,引领你勇敢踏入Python数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。

渴望挑战Python信息领域的技术?不妨点击下方链接,一同探讨更多Python数据科学的奇迹吧。我们推出了引领趋势的💻 Python数据科学专栏:《Python | 编程解码》,旨在深度探索Python模式匹配技术的实际应用和创新。🌐🔍

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

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

相关文章

matlab多元线性回归

1.matlab多元回归示例如下&#xff1a; 解决问题&#xff1a;油价预测 方法&#xff1a;多元线性回归 实现&#xff1a;matlab regress()函数 技巧&#xff1a;通过增加X1^2&#xff0c;X2^2&#xff0c;或者X1*X2等构造的特征项&#xff0c;可以提高回归模型的拟合准确度&…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑩

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 模块…

Java项目:117SpringBoot动漫论坛网站

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 117SpringBoot动漫论坛网站 一、项目介绍 动漫论坛网站是由SpringBootMybatis开发的&#xff0c;旅游网站分为前台和后台&#xff0c;前台为用户浏览&#xff0c;后台进…

Java零基础教学文档第三篇:JDBC

今日新篇章 【JDBC】 【主要内容】 JDBC概述 使用JDBC完成添加操作 使用JDBC完成更新和删除 DBUtils的简单封装 使用JDBC完成查询 使用JDBC完成分页查询 常用接口详解 JDBC批处理 SQL注入问题 事务处理解决转账问题 连接池 使用反射对DBUtils再次的封装 BaseDAO的封…

如何查看Ubuntu内存的使用情况

在Linux系统中&#xff0c;了解内存使用情况对于系统管理和性能优化非常重要。以下是一些常用的命令&#xff0c;以及它们的详细使用说明&#xff1a; 1. free 命令 用途: free 命令用于显示系统中空闲和已用的物理内存及交换内存。示例: 输入命令: free -m输出解释: 这将以M…

alertmanager高可用集群的部署方案

目录 alertmanager集群模式如何形成&#xff1f; 先看看prometheus这边怎么配 非容器部署 基于容器部署 alertmanager集群模式如何形成&#xff1f; 官方的&#xff1a;Alertmanager | Prometheus GitHub - prometheus/alertmanager: Prometheus Alertmanager 基本上就是…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

Vue中的class和style绑定

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介动态绑定class对象语法数组语法 动态绑定style对象语法多重值 ⭐ 写在最后 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏&#xff01;创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习…

免费远程控制软件推荐2024最新

远程控制软件在我们的生活和工作中越来越常见&#xff0c;今天给大家分享一个免费的远程控制软件&#xff0c;教你如何使用手机远程控制电脑。 首先&#xff0c;您需要在电脑上安装KKView远程控制软件&#xff0c;该软件提供手机端和桌面端。安装完成后&#xff0c;您将获得一个…

win7添加access的odbc数据源

从控制面板打开odbc数据源&#xff1b;如果像下面没有access的驱动程序&#xff0c; 根据资料&#xff0c;打开C盘-Windows-SysWow64-odbcad32.exe&#xff0c;看一下就有了&#xff1b; 然后添加用户DSN&#xff0c;选中access的驱动程序&#xff0c; 自己输入一个数据源名&am…

Hive基础知识(七):Hive 数据类型全解

1. 基本数据类型 对于 Hive 的 String 类型相当于数据库的 varchar 类型&#xff0c;该类型是一个可变的字符串&#xff0c;不过它不能声明其中最多能存储多少个字符&#xff0c;理论上它可以存储2GB 的字符数。 2. 集合数据类型 Hive 有三种复杂数据类型 ARRAY、MAP 和 STRUCT…

docker 部署项目的操作文档,安装nginx

目录 1 部署环境检查2 相关知识点2.1 docker默认镜像存放地址2.2 docker 的镜像都是tar 包&#xff1f;2.3 Docker-compose 是直接使用镜像创建容器&#xff1f;2.4 Docker Compose down 就是将容器删除&#xff1f;2.5 删除&#xff0c;会删除挂载嘛2.6 DockerFile 和 docker …

远程求职:有什么不同吗?

外面的世界很大&#xff0c;你渴望探索它&#xff0c;但面对现实吧&#xff0c;你必须吃饭。远程工作可能就是答案。下面的博客详细介绍了您需要了解的有关找到工作的细节&#xff0c;同时也可以让您在需要时收拾行李继续前进。 申请任何工作&#xff0c;无论是远程工作还是办…

服务容错-熔断策略之断路器hystrix-go

文章目录 概要一、服务熔断二、断路器模式三、hystrix-go3.1、使用3.2、源码 四、参考 概要 微服务先行者Martin Fowler与James Lewis在文章microservices中指出了微服务的九大特征&#xff0c;其中一个便是容错性设计(Design for failure)。正如文章中提到的&#xff0c;微服…

宋仕强论道之华强北精神和文化(二十一)

华强北的精神会内化再提炼和升华成为华强北文化&#xff0c;在外部会流传下去和传播开来。在事实上的行动层面&#xff0c;就是华强北人的思维方式和行为习惯&#xff0c;即见到机会就奋不顾身敢闯敢赌&#xff0c;在看似没有机会的时候拼出机会&#xff0c;和经济学家哈耶克企…

【OSG案例详细分析与讲解】之四:【3D动画场景】

文章目录 一、【3D动画场景】前言 二、【3D动画场景】实现效果 三、【3D动画场景】创建动画路径 1、实现目的 2、创建动画路径步骤 3、核心代码 4、知识要点 5、AnimationPath详讲 四、【3D动画场景】创建基础模型 1、实现目的 2、创建基础模型步骤 3、核心代码 4、知识要点 5、…

openssl3.2 - 官方dmeo学习 - server-arg.c

文章目录 openssl3.2 - 官方dmeo学习 - server-arg.c概述笔记备注END openssl3.2 - 官方dmeo学习 - server-arg.c 概述 TLS服务器, 等客户端来连接; 如果客户端断开了, 通过释放bio来释放客户端socket, 然后继续通过bio读来aceept. 笔记 对于开源工程, 不可能有作者那么熟悉…

uniapp 字母索引列表插件(组件版) Ba-SortList

简介&#xff08;下载地址&#xff09; Ba-SortList 是一款字母索引列表组件版插件&#xff0c;可自定义样式&#xff0c;支持首字母字母检索、首字检索、搜索等等&#xff1b;支持点击事件。 支持首字母字母检索支持首字检索支持搜索支持点击事件支持长按事件支持在uniapp界…

VMware vSphere运维管理手册

适用版本:VMware vSphere 7.0 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 ![[Pasted image 20231212132…

数据库原理与应用期末复习试卷1

数据库原理与应用期末复习试卷1 一.单项选择题 数据库系统是采用了数据库技术的计算机系统&#xff0c;由系统数据库&#xff0c;数据库管理系统&#xff0c;应用系统和&#xff08;C&#xff09;组成。 ​ A.系统分析员 B.程序员 C.数据库管理员 D.操作员 数据库系统的体系…