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

​🌈个人主页: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模式匹配技术的实际应用和创新。🌐🔍

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【IC设计】ICer‘s 乾坤大挪移——FSM状态机

目录 理论解读写几段式状态机&#xff1f; 设计实战两种state的FSM&#xff08;异步复位&#xff09; 理论解读 写几段式状态机&#xff1f; 设计实战 两种state的FSM&#xff08;异步复位&#xff09; 实现下图所示的摩尔状态机&#xff0c;复位为异步复位。 代码实现&am…

【笔记】书生·浦语大模型实战营——第三课(基于 InternLM 和 LangChain 搭建你的知识库)

【参考&#xff1a;tutorial/langchain at main InternLM/tutorial】 【参考&#xff1a;(3)基于 InternLM 和 LangChain 搭建你的知识库_哔哩哔哩_bilibili-【OpenMMLab】】 笔记 基础作业 这里需要等好几分钟才行 bug&#xff1a; 碰到pandas相关报错就卸载重装 输出文字…

c语言实现HashTable

概念&#xff1a;哈希表是一种数据结构&#xff0c;它通过将键映射到数组的某个位置来存储和检索值。 第一步&#xff0c;首先定义节点 typedef struct Node {char *key;int value;struct Node *next; } Node; 这里&#xff0c;我定义的键是字符&#xff0c;value是整数。 …

赋能智慧农业生产,基于YOLOv7开发构建农业生产场景下油茶作物成熟检测识别系统

AI赋能生产生活场景&#xff0c;是加速人工智能技术落地的有利途径&#xff0c;在前文很多具体的业务场景中我们也从实验的角度来尝试性地分析实践了基于AI模型来助力生产生活制造相关的各个领域&#xff0c;诸如&#xff1a;基于AI硬件实现农业作物除草就是一个比较熟知的场景…

【大数据进阶第三阶段之DolphinScheduler学习笔记】深度解析DolphinScheduler(海豚调度)

1、简介 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系&#xff0c;并为应…

YOLOv5改进 | 检测头篇 | DynamicHead支持检测和分割(不同于网上版本,全网首发)

一、本文介绍 本文给大家带来的改进机制是DynamicHead(Dyhead),这个检测头由微软提出的一种名为“动态头”的新型检测头,用于统一尺度感知、空间感知和任务感知。网络上关于该检测头我查了一些有一些魔改的版本,但是我觉得其已经改变了该检测头的本质,因为往往一些细节上才…

程序设计语言的基本成分

程序设计语言的基本成分 1、程序设计语言的数据成分2、程序设计语言的运算成分3、程序设计语言的控制成分4、程序设计语言的传输成分 程序设计语言的基本成分包括数据、运算、控制和传输等。 1、程序设计语言的数据成分 程序设计语言的数据成分指一种程序设计语言的数据类型。数…

最实用的 8 个免费 Android 数据恢复软件

如果您正在寻找最好的免费 Android 数据恢复软件&#xff0c;那就不用再犹豫了&#xff0c;因为我已经列出了最好的软件。不可否认&#xff0c;智能手机和平板电脑等 Android 设备正在与技术一起发展。与以前相比&#xff0c;它们也更加融入了我们的日常生活。 Android 智能手…

软件测试|Python urllib3库使用指南

简介 当涉及到进行网络请求和处理HTTP相关任务时&#xff0c;Python的urllib3库是一个强大且灵活的选择。它提供了一种简单的方式来执行HTTP请求、处理响应和处理连接池&#xff0c;使得与Web服务进行交互变得更加容易。本文将详细介绍如何使用urllib3库进行网络请求。 安装u…

Prettier、EditorConfig插件安装及配置文件讲解

安装 Prettier 我们在编写代码时&#xff0c;代码的格式规范非常重要&#xff0c;能提高代码的可读性&#xff0c;避免由于格式问题引起的 bug&#xff0c;也有利于多人协作开发时的统一风格。Prettier是一个非常好用的代码格式化工具&#xff0c;能自动格式化代码&#xff0c;…

「 网络安全术语解读 」点击劫持Clickjacking详解

引言&#xff1a;要想深入理解点击劫持攻击&#xff0c;我们需要先清楚iframe的用途及优缺点。 1. 关于iframe iframe是HTML语言中的一部分&#xff0c;通常用于在网页中嵌入其他网页的内容&#xff0c;如图像、视频、音频、链接等。它允许在一个网页中插入另一个网页&#xf…

meshlab点云平滑

文章目录 深度平滑拉普拉斯平滑Taubin 平滑其他改进的拉普拉斯平滑 Meshlab界面认识 创建几何对象 Meshlab在Filters->Smoothing, Fairing and deformation中&#xff0c;提供了许多滤波工具&#xff0c;其中与平滑滤波相关的列表如下&#xff0c;本节中所有用到的工具均来…

2019年认证杯SPSSPRO杯数学建模B题(第一阶段)外星语词典全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于方差分布的方法对未知语言文本中重复片段的自动搜索问题的研究 B题 外星语词典 原题再现&#xff1a; 我们发现了一种未知的语言&#xff0c;现只知道其文字是以 20 个字母构成的。我们已经获取了许多段由该语言写成的文本&#xff0c;但…

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

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

GPT function calling v2

原文&#xff1a;GPT function calling v2 - 知乎 OpenAI在2023年11月10号举行了第一次开发者大会&#xff08;OpenAI DevDays&#xff09;&#xff0c;其中介绍了很多新奇有趣的新功能和新应用&#xff0c;而且更新了一波GPT的API&#xff0c;在1.0版本后的API调用与之前的0.…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL &#xff0c;首先要安装 MySQL &#xff0c;本文将一步步展示如何安装 MySQL&#xff0c;简直详细到令人发指。 环境&#xff1a; 操作系统&#xff1a;Windows10 64位MySQL版本&#xff1a;社区版 8.0.11.0 1、下…

SpringBoot集成Skywalking实现分布式链路追踪

官方网址&#xff1a; Apache SkyWalking官方文档&#xff1a; SkyWalking 极简入门 | Apache SkyWalking下载地址&#xff1a;Downloads | Apache SkyWalking Agent&#xff1a;以探针的方式进行请求链路的数据采集&#xff0c;并向管理服务上报&#xff1b; OAP-Service&am…

L1-096:谁管谁叫爹

《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲&#xff0c;来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点&#xff0c;多耗一些智商。 不妨设游戏中的两个人为 A 和 B。游戏开始后&#xff0c;两人同时报出两个整数 NA​ 和 NB​。判断谁是爹的标准如下&#xff…

pythroch abaconda 安装 cuda 版本确定

一、简述 公司有一个深度学习的项目&#xff0c;由于目前没有项目。时间也有恰好可以一起学习一下 1、下载abaconda https://repo.anaconda.com/archive/ 2、安装 环境变量要✔ 其他一直下一步 3、测试 (base) C:\Users\alber>conda -V conda 23.1.0(base) C:\User…

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…