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

这篇具有很好参考价值的文章主要介绍了【Python】编程练习的解密与实战(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程

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

【Python】编程练习的解密与实战(二),python,windows,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.问题一

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程

2.问题二

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程

3.问题三

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程

4.问题四

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程


🌍实验体会

  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模式匹配技术的实际应用和创新。🌐🔍

【Python】编程练习的解密与实战(二),python,windows,python,开发语言,算法,编程文章来源地址https://www.toymoban.com/news/detail-783783.html

到了这里,关于【Python】编程练习的解密与实战(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【socket】从计算机网络基础到socket编程——Windows && Linux C语言 + Python实现(TCP+UDP)

    简单讲一下基础知识,便于后面代码的理解,建议大概浏览一下这一小节内容。这里讲的只是冰山一角,建议大家学习计算机网络相关知识,推荐几本书: 《计算机网络》(谢希仁) 《计算机网络 自顶向下方法》 《计算机网络技术》 《计算机网络基础及应用》 《Linux C从入

    2024年02月08日
    浏览(56)
  • 【python】pythonPTA编程题练习

    分数 10 作者 王祥荣 单位 宁波财经学院 输入年、月、日,要求输出该年份的元旦到该日期总共经过了多少天。(提示:闰年是指能被400 整除的年份或者能被4 整除但不能100 整除的年份) 输入格式: 输入n,代表接下来要输入n行的年、月、日。 然后输入n行年、月、日,年、月

    2023年04月17日
    浏览(27)
  • 用Python编程实现百度自然语言处理接口的对接,助力你开发智能化处理程序

    用Python编程实现百度自然语言处理接口的对接,助力你开发智能化处理程序 随着人工智能的不断进步,自然语言处理(Natural Language Processing,NLP)成为了解决文本处理问题的重要工具。百度自然语言处理接口提供了一系列强大的功能,如提取、文本分类、情感分析等,

    2024年02月13日
    浏览(104)
  • Python基础入门编程代码练习(二)

    循环条件:i100 循环操作  实现代码如下: 运行结果:   计算 100 以内的奇数之和,并设置断点调试程序,追踪 3 个表达式的执行顺序及循环变量的变化  实现代码如下: 运行结果:   商场对顾客的年龄层次进行调查 计算各年龄层次的顾客比例  实现代码如下: 运行结果:

    2024年02月03日
    浏览(40)
  • AES对称加密实战——前端js加密后端python解密

    高级加密标准(AES, Advanced Encryption Standard),是一种最常见的对称加密算法 。其加密流程如下图所示,发送方通过密钥对明文加密后进行网络传输,接收方用同样的密钥将密文解密。在前后端通讯场景中,可利用AES算法对用户密码进行加密后传输,防止被抓包而造成密码泄露。

    2024年02月04日
    浏览(60)
  • openCV+Python实战练习——银行卡号识别

    目录 项目Introduce: 项目名称: 具体操作步骤以及代码: 实现结果展示: 代码整体展示: 项目名称:         通过导入模板数字,对银行卡面上的数字进行识别,提取出银行卡面上的银行卡号。 项目流程预览: 1.处理模板图像,获取模板数字 2.导入银行卡图像 3.提取银行

    2024年02月10日
    浏览(31)
  • 100+Python挑战性编程练习系列 -- day 11

    Question 38 对于给定的元组(1,2,3,4,5,6,7,8,9,10),编写一个程序,在一行中打印前半部分值,在一行中打印后半部分值。 方法1: 方法2: 方法3: Question 39 编写一个程序来生成并打印另一个元组,其值是给定元组中的偶数(1,2,3,4,5,6,7,8,9,10)。 Questi

    2024年02月04日
    浏览(58)
  • 100+Python挑战性编程练习系列 -- day 23

    Question 92 根据参加者在大学运动会的成绩表,你必须找出亚军的分数。你会得到分数。将它们存储在列表中并查找亚军的分数。 如果将以下字符串作为程序的输入: 5 2 3 6 6 5 然后,程序的输出应该是: 5 方法1: 方法2: Question 93 给定字符串S和宽度W。你的任务是将字符串包

    2024年02月07日
    浏览(39)
  • 100+Python挑战性编程练习系列 -- day 2

    Question 4 编写一个程序,从控制台接收一个逗号分隔的数字序列,并生成一个列表和一个包含每个数字的元组。假设向程序提供以下输入:34,67,55,33,12,98 然后,输出应为:[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’] (‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’) Question 5 定义

    2024年02月02日
    浏览(38)
  • 【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

    最近在写论文,导师那里很严格,所以我打算去知网下载文章进行参考,但是需要money,在同学的推荐下拿到了某宝一家免费的知网接口,今天就是对该网站的分析,最后成品会开源!在分析的时候被对方耍了一下,对方有一个登陆页面,登陆了后才发现只是个导航,其实登

    2023年04月22日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包