python
文章平均质量分 66
.
Super.Bear
https://github.com/Paraniod1
展开
-
Python进阶之闭包和装饰器
一般来说闭包这个概念在很多语言中都有涉及,本文主要谈谈python中的闭包定义和相关用法以及装饰器。Python中使用闭包主要是在进行函数式开发时使用,而装饰器(语法糖)在闭包的基础上为函数添加额外的功能,并且在不改变原函数代码的情况下。原创 2023-11-05 23:20:07 · 212 阅读 · 2 评论 -
Python进阶之推导式与生成器
风间琉璃帮助欢迎关注订阅专栏。原创 2023-11-04 10:36:56 · 575 阅读 · 0 评论 -
Python进阶之迭代器
迭代器生成器装饰器。这里给大家先介绍迭代器相关的知识。迭代:通常从一个对象中依次取出数据,这个过程叫做遍历,也称为**迭代(**重复执行某一段代码块,并将每一次迭代得到的结果作为下一次迭代的初始值)。可迭代对象是指该对象可以被用于for循环,例如:集合,列表,元组,字典,字符串,迭代器等。直接作用于for循环的对象统称为可迭代对象(Iterable)那么在代码层面如何定义一个可迭代对象呢?在python中如果一个对象实现了__iter__方法,则该对象可以称之为可迭代对象。原创 2023-10-15 22:29:55 · 540 阅读 · 3 评论 -
用户登录(字典)
项目场景:实验课作业问题描述: 用户登陆系统时需要首先输入账号,如果账号不存在,输出“Wrong User”并结束程序;账号正确时,再输入密码,验证账号密码与已给定的账号密码是否一致,如果一致,输出“Success”,否则输出“Fail”以及剩余尝试次数。总尝试次数为3次,如果3次均输入错误,输出“Login Denied”。原因分析:代码一由于键对应的值是一个一维列表,数据处理起来比较复杂,可以用keys()获取键,用values()获取值,但是要转换为列表,方便使用因为他们原创 2021-09-30 23:39:24 · 5652 阅读 · 2 评论 -
pythonz字符串去重并排序
项目场景:python练习题问题描述: 输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。![在这里插入图片描述](https://img-blog.csdnimg.cn/b9d6e69f05914e7ab8a7662652a6ad45.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUGFyYW5vaWTigqw=,size_20,color_F原创 2021-09-29 22:49:02 · 18367 阅读 · 0 评论 -
文件读取求平均值
项目场景:提示:这里简述项目相关背景:python练习题问题描述:提示:这里描述项目中遇到的问题:附件提供了一个传感器日志文件sensor-data-1k.txt,为文本类型,共 1 千行,每行包含了日期、时间和 4 种传感器读数值。其中,4 种传感器读数值分别是:温度、湿度、光照和电压。假设题目对应文件在当前目录下,文件打开函数参考如下:原创 2021-11-03 15:28:18 · 4046 阅读 · 5 评论 -
分解质因数
项目场景:提示:这里简述项目相关背景:python练习题问题描述:提示:这里描述项目中遇到的问题:输入一个正整数n,把数字n分解成不能再分解因子的乘法,比如:8=222, 10 = 2*5,而不是 8 = 2 * 4 这种可以再分解的。原因分析:提示:这里填写问题的分析:要找到所有的质因子可以从2依次对该数或者该数的因子取余,除尽则判断是不是质数,是质数则添加到list1, 为了提高效率在每次整除后,可以判断商是否是质数,如果是就break,以后基本上不会进入if语句解决方案:提原创 2021-10-19 21:44:33 · 419 阅读 · 0 评论 -
汉诺塔问题
项目场景:提示:这里简述项目相关背景:练习题问题描述:提示:这里描述项目中遇到的问题:有三个圆柱 A、B、C,初始时 A 上有 N 个圆盘,N 由用户输入给出,最终移动到圆柱 C 上。每次移动步骤的表达方式示例如下:[STEP 10] A->C。其中,STEP 是步骤序号,宽度为 4 个字符,右对齐原创 2021-10-27 17:43:59 · 1251 阅读 · 0 评论 -
文件-单位转换
项目场景:文件操作问题描述:提示:这里描述项目中遇到的问题:从文件in162.txt中连续读入10个以磅为单位的重量值,将其转换为以千克为单位的值并求和,将计算所得的和sum输出到文件out162.txt中。说明:一磅等于0.454千克。原因分析:提示:这里填写问题的分析:将文件中第一行读取出来,遍历相加即可解决方案:提示:这里填写该问题的具体解决方案:fd1 = open("in162.txt", "r")sum = 0count = 0line = fd1.re原创 2021-10-26 19:47:02 · 3306 阅读 · 1 评论 -
文件排版2.2 (python)
项目场景:提示:这里简述项目相关背景:python练习题问题描述:提示:这里描述项目中遇到的问题:英文电影中参演人员名单一般以某种方式进行排版显示。给定一个未排版的文件listin.txt,该文件中每行参演人员名单由冒号’:'分隔成前后两部分,但格式杂乱无章,单词(由除空格和水平制表符之外的其它字符构成)之间可能有多个空格或水平制表符分隔。编写程序,要求将其按如下排版规则排版输出到另一个文件listout.txt中:1.从标准输入读取一整数,作为排版后所有各行冒号’:‘在一行中的固定位置;假设原创 2021-11-01 17:46:12 · 925 阅读 · 1 评论 -
python鸡兔同笼
项目场景:提示:这里简述项目相关背景:实验课作业问题描述:原因分析:根据问题实际上就是求二元一次方程组的解,头(a)和脚(b)的数量是用户输入的,是我们已经知道的数据,让我们求的是鸡和兔分别有多少只?我们就把鸡的数量设为x,兔子的数量设为y 。然后根据输入头和脚的数据有:x+y=a,2x+4y=b。最后,可以依据这两个方程编写相应的程序。解决方案:代码:# a头 b脚a, b = map(int, input().split(' '))# x 鸡的数量# y 兔的数量f原创 2021-09-29 22:04:19 · 23412 阅读 · 7 评论 -
字符串切分连接(列表,字符串,字典内置函数)
项目场景:提示:这里简述项目相关背景:练习题问题描述:输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。原因分析:灵活运行字符串内置函数解决方案:提示:这里填写该问题的具体解决方案:strings = input()sign = input()list1 = []str1 = ""list1 = strings.split()str1 = sign.join(list1)print(str1)知原创 2021-10-12 20:08:44 · 1092 阅读 · 0 评论 -
python列表去重
项目场景:提示:问题描述: 输入一系列以逗号分隔的英文人名,其中包含重复的名字,请将其中重复的名字去掉,输出包含不重复人名的列表,名字出现顺序与输入顺序相同。原因分析:解决方案:代码list1 = list(input().split(","))# set1 = set(list1)# list2 = list(set1)# print(list2)list2 = []for i in list1: if i not in list2: list2.a原创 2021-09-30 17:51:35 · 10347 阅读 · 5 评论 -
基本统计值计算
项目场景:提示:这里简述项目相关背景:python课后练习题问题描述:提示:这里描述项目中遇到的问题:获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)除中位数外,其他输出保留小数点后两位。原因分析:提示:这里填写问题的分析:注意,这里输入的数据还必须包含小数,原创 2021-10-19 21:29:23 · 2298 阅读 · 0 评论 -
文件词频统计--Hamlet
项目场景:Python练习题问题描述:提示:这里描述项目中遇到的问题:请统计hamlet.txt文件中出现的英文单词情况,统计并输出出现最多的前n个单词,注意:(1) 单词不区分大小写,即需将大写转换成小写;原创 2021-11-03 15:27:11 · 4375 阅读 · 0 评论 -
python凯撒加密
项目场景:提示:这里简述项目相关背景:实验课练习题目问题描述:提示:这里描述项目中遇到的问题: 原因分析:首先题目要求一次输出两个数据,其中第一个数据表示移动的位数n,第二个数据是待加密的原文字符串,所以一次输入多个数据我使用了input().split()这两个函数,并把这两个数据转为列表的类型,为了后面比较好操作,然后对第二个数据的每一个字母进行遍历,进行加密。那么,怎么加密呢?凯撒加密的原理:将每个字母转换其往后的第n个字母,这里按照的26个字母顺序。原理很简单,但是怎么将字原创 2021-09-29 17:59:29 · 1257 阅读 · 0 评论 -
python斐波那契数列
项目场景:提示:这里简述项目相关背景:python课后练习问题描述:提示:这里描述项目中遇到的问题:计算斐波那契数列的值,具体功能如下:原创 2021-10-19 20:29:39 · 226 阅读 · 0 评论 -
阶乘累加求和
项目场景:入门练习题问题描述:提示:这里描述项目中遇到的问题:请用函数编程实现。求和 1!+2!+3!…+n!原创 2021-10-12 19:45:09 · 1163 阅读 · 0 评论 -
python列表删除
项目场景:实验课作业问题描述:输入一个1-100之间的正整数 n, 以 n 为随机数种子随机生成一个不大于 n 的正整数 m 。 生成一个包含元素为 1,2,3……n 的列表 ls,在列表 ls 中删除值为 m 的整数倍的元素,在两行中输出原始列表和删除 m 倍数后的列表。原因分析:解决方案:代码import randomn = eval(input())random.seed(n)m = random.randint(1, n-1)list1 = []list2 = []原创 2021-09-30 17:49:23 · 6433 阅读 · 0 评论 -
求均值和大于均值的值(*args 与**args区别)
项目场景:基础练习题问题描述:提示:这里描述项目中遇到的问题:编写一个函数cacluate, 可以接收任意多个数, 返回的是一个元组.元组的第一个值为所有参数的平均值(均值保留一位小数), 第二个值是大于平均值的所有值原因分析:提示:这里填写问题的分析:函数要想接收多个参数必然要使用可变参数类型----*args将从键盘读入的数据转为list后,想要将列表中的值传入函数形参传入方法:解包list = [...]调用:fun(*list)只需要在调用的时候,在list表前面加原创 2021-10-12 19:56:18 · 969 阅读 · 0 评论 -
打印杨辉三角
项目场景:提示:这里简述项目相关背景:python练习题问题描述:提示:这里描述项目中遇到的问题:杨辉三角形,也称帕斯卡三角,其定义为:顶端是 1,视为(row0).第1行(row1)(1&1)两个1,这两个1是由他们上头左右两数之和 (不在三角形内的数视为0).依此类推产生第2行(row2):0+1=1;1+1=2;1+0=1.第3行(row3):0+1=1;1+2=3; 2+1=3;1+0=1. 循此法可以产生以下诸行,如下图所示。定义一个函数 ,传入正整数参数 M,输出 M 行的原创 2021-10-20 18:33:22 · 1045 阅读 · 0 评论 -
python旋转魔法矩阵
项目场景:提示:这里简述项目相关背景:python练习题问题描述:提示:这里描述项目中遇到的问题:输入一个自然数N(2到9之间),要求输出如下的魔方阵,即边长为NN,元素取值为1至NN,1在左上角,呈顺时针方向依次放置各元素原因分析:提示:这里填写问题的分析:实现旋转矩阵可以看成走迷宫一样有着固定的顺序,若碰到边界或者已经被填了数值的地方,就应该换方向。若不清楚,什么时侯进行哪一步操作,可以从三阶和四阶两个已经的去模拟实现解决方案:提示:这里填写该问题的具体解决方案:n = e原创 2021-10-26 20:34:46 · 2773 阅读 · 0 评论 -
python圆周率计算
项目场景:提示:这里简述项目相关背景:实验课作业问题描述:提示:这里描述项目中遇到的问题:!](https://img-blog.csdnimg.cn/0a718e7723004077af868ba460764a15.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUGFyYW5vaWTigqw=,size_20,color_FFFFFF,t_70,g_se,x_16)原创 2021-09-29 22:00:18 · 1290 阅读 · 0 评论 -
Python零基础入门学习【期末复习专用】
提示:文章写完后文章目录前言一、基础常识1.注释2.变量二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容一、基础常识1.注释注释是代码中的辅助性文字,会被解释器过滤掉,不被 计算机执行。注释一般用于在代码中标明作者和作者的版权信息,或者解释代码原理及用途,或者通过注释单行代码辅助程序。单行注释:以#开头,本行#之后的内容都为注释多行注释:以一对三引号’’’ ‘’’ 或""" “”" 开头和结尾的内容2.变量变量是保存和表示数据值的占位符,采用标识符来表示原创 2021-11-30 21:13:41 · 3561 阅读 · 3 评论 -
Python之图像处理---PIL库
文章目录前言一、PIL库概述二、Image类解析总结前言提示:以下是本篇文章正文内容一、PIL库概述PIL库支持图像存储、 显示和处理, 它能够处理几乎所有图片格式, 可以完成对图像的缩放、 剪裁、 叠加以及向图像添加线条、 图像和文字等操作 PIL库可以完成图像归档和图像处理两方面功能需求:(1)图像归档:对图像进行批处理、 生成图像预览、 图像格式转换等 (2)图像处理:图像基本处理、 像素处理、 颜色处理等二、Image类解析在PIL中, 任何一个图像文件都可以用Im..原创 2021-10-30 23:48:47 · 8954 阅读 · 2 评论 -
Python库之数据可视化---Matplotlib
文章目录前言????Matplotlib库简介????matplotlib.pyplot 库概述????matplotlib.pyplot 库解析????plt 库绘图区域函数总结前言提示:以下是本篇文章正文内容????Matplotlib库简介Matplotlib: 高质量的二维数据可视化功能库,提供了超过100种数据可视化展示效果,通过matplotlib.pyplot子库调用各可视化效果,Python最主要的数据可视化功能库,基于Numpy开发如图????matplotlib.p原创 2021-10-29 23:45:45 · 2753 阅读 · 2 评论 -
Python库之数据分析---Numpy
文章目录前言????Numpy库介绍????ndarray 类常用属性????Numpy常用函数????array函数????arange()函数和linspace()函数总结前言由于自己并不以Python语言为主,这里只是简单介绍一下Numpy库的使用提示:以下是本篇文章正文内容????Numpy库介绍numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray), 简称" 数组”,数组中所有元素的类型必须相同, 数组中元素可以用整数索引, 序号从0开始。 ndarray原创 2021-10-29 17:45:52 · 267 阅读 · 0 评论 -
Qt designer
1.界面布局 Layout(1)QHBoxLayout 水平布局(2)QVBoxLayout 垂直布局(3)QGridLayout 表格布局 栅格布局(4)QFormLayout 表单布局2.控件(1)按钮 QPushButton作用:信号当按钮被点击就会发出 clicked 信号,可以这样指定处理该信号的函数button.clicked.connect(handleCalc)改变文本代码中可以使用 setText 方法来改变按钮文本button.setText(text)禁原创 2021-08-14 14:54:27 · 1234 阅读 · 0 评论 -
爬虫基础知识
1.web请求过程:页面渲染两种方式(1)服务器渲染:在服务器那边直接把数据和html整合到一起,统一返回给浏览器,在页面源代码里可以看到我们相要的数据。(2)客户端渲染:第一次请求只有一个html框架,第二次请求拿到数据,进行数据显示,在页面源代码里面看不见数据。2.http协议HTTP协议, Hyper Text Transfer Protocol(超⽂本传输协议)的缩写,是⽤于从万维⽹服务器传输超⽂本到本地浏览器的传送协议. 就是浏览器和服务器之间的数据交互遵守的就是HTTP协议.原创 2021-08-13 20:00:29 · 173 阅读 · 0 评论 -
电影排行榜爬取
大概步骤:1.爬取网页2.逐一解析数据3.保存数据(excel ,数据库存储)1.爬取网页网页的访问一般两种方式:# 1.get请求url = "https://movie.douban.com/top250?start=0&filter="respense = urllib.request.urlopen(url) #请求访问网页print(respense.read().decode("utf-8")) #将返回的对象进行解码读取url = "https://www.b原创 2021-08-12 22:02:57 · 250 阅读 · 0 评论 -
PyQt5案例(1)
基于python写一个小的窗口import sys# 必须使用两个类:QApplication和QWidget。都在PyQt5.QtWidgets。from PyQt5.QtWidgets import QApplication, QWidgetif __name__ == "__main__": # 创建 QApplication 的实例 app = QApplication(sys.argv) # 创建一个窗口 win = QWidget() # 设置原创 2021-08-12 18:54:38 · 1104 阅读 · 2 评论 -
python游戏制作
游戏开发过程1.用pygame建立一个游戏界面# 建立一个界面import pygameimport syspygame.init() # pygame 初始化pygame.display.set_caption("我的第一个游戏") # 窗口的标题screen = pygame.display.set_mode( (500, 500) ) # 创建一个窗口对象 设置参数以元组传入while True: pygame.display.update()原创 2021-08-08 22:02:20 · 1631 阅读 · 0 评论 -
python库之网络爬虫
大多数库用于网络爬虫与可视化数据1.pickle库可以处理复杂的序列化语法,序列化时,只是序列化整个序列对象,而非内存地址。pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。所以pickle库也有两类主要接口,一个是序列化接口,一个是反序列化接口。pickle常用函数:1.pickle.dump(object, file, proto原创 2021-08-05 17:48:28 · 251 阅读 · 0 评论 -
迭代,生成,装饰器
1.描述符():将某种特殊类型的类的实例,指派给另一个类的属性。描述符就是将某种特殊类型的类的实例指派给另一个类的属性特殊类型的要求,至少实现以下三个方法:get(self, instance, owner)用于访问属性,它返回属性的值set(self, instance, value)将在属性分配操作中调用,不返回任何内容delete(self, instance)控制删除操作,不返回任何内容注:instance指的就是另一个类的实例对象。owner指的就是另一个类的类本身。value指原创 2021-08-05 13:48:41 · 92 阅读 · 0 评论 -
类与对象特性
1.面向对象用语:类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。数据成员(属性):类变量或者实例变量, 用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这原创 2021-07-31 22:12:21 · 484 阅读 · 0 评论 -
py魔法方法
1.构造和析构_ _ init_ (self[,…]),在类定义时有时写__init_()方法,有时不写,只有当我们需要对一个对象进行初始化操作时,才会重写__init__()方法。init方法必须返回一个None对象,不能使用return语句.init 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。(前面一篇讲过,这里就不再细说)new(cls[,…]) ,__new__方法的第一个参数是这个类,而其余的参数会在调用成功后全部传递给_原创 2021-07-31 22:00:19 · 143 阅读 · 0 评论 -
文件与异常
文件操作文件打开模式执行操作‘r’ 以只读方式打开文件(默认)‘w’ 以写入的方式打开文件,会覆盖已存在的文件‘x’ 如果文件已经存在,使用此模式打开将引发异常‘a’ 以写入模式打开,如果文件存在,则在末尾追加写入‘b’ 以二进制模式打开文件‘t’ 以文本模式打开(默认)‘+’ 可读写模式(可添加到其他模式中使用)‘U’ 通用换行符支持文件对象方法执行操作f.close() 关闭文件f.read([size=-1]) 从文件读取size个字符,当未给定size或给定负值的时候,读原创 2021-07-30 17:10:19 · 266 阅读 · 0 评论 -
python小知识
1.if name == 'main’的解析if name == 'main’相当于Python模拟的程序入口,当.py文件被直接运行时,if name == 'main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。2.格式化输出format格式化print('{0},{1}'.format("xiao", 1122)) # 若无顺序要求默认依次填充 序号可以控制后面输出的顺序print('{name},{age}'.fo原创 2021-07-29 21:19:30 · 149 阅读 · 0 评论