python范围

用户图形界面-工资计算器

from tkinter import *def f():w = int(e1.get()) + int(e2.get()) - int(e3.get())wage.insert(0,w)root = Tk()
root.title("工资计算器")
Label(root, text="每月基本工资:").pack()
e1 = Entry(root)
e1.pack()
Label(root, text="补助工资:").pack()
e2 = Entry(root)
e2.pack()
Label(root, text="考勤扣款:").pack()
e3 = Entry(root)
e3.pack()
Button(root, text="计算", command=f).pack()
Label(root, text="实发工资:").pack()
wage=Entry(root)
wage.pack()
root.mainloop()
  1. 使用tk方法创建一个窗口类型root,并且给该窗口命名为工资计算器
  2. 用Label标签创建每月基本工资,补助工资,考勤扣款这几个标签,pack方法是将这几个标签放到窗口里
  3. 用Entry方法在root里创建输入框,并且将输入框创建在窗口里边
  4. 用Button方法创建一个按钮,与f方法绑定
  5. root.mainloop()显示窗口

政府工作报告-词云图

from PIL import Image
from wordcloud import WordCloud
import jieba
import numpy as np
#2、读取文本并分词
text = open("2023政府工作报告.txt","rb").read()
ss=" ".join(jieba.lcut(text))
mask=np.array(Image.open("ChinaMap.png"))
#3、配置词云参数,生成词云
wc = WordCloud(font_path="fonts/msyh.ttc",background_color = "white",max_words=300,mask =mask,max_font_size = 200,height=400,width=854,
stopwords={"的", "了", "是", "在", "和", "有", "一个", "与", "我", "我们", "你", "他", "她", "它", "这个", "那个", "对于","因为", "所以", "如果", "如何", "这样", "但", "只有", "而", "也", "更加", "去", "将", "可以", "大", "小", "非常","不仅", "更", "是的", "以及", "而且", "关于", "当", "能", "这些", "这些", "自己", "需要", "当时", "某些", "任何","本", "此", "更", "过", "一些", "同样", "两", "三", "四", "五", "十", "不", "多", "少", "起来", "之前", "之后"},
colormap="Reds",contour_width=8,contour_color="red")
wc.generate(ss)
#4、生成图片并显示
wc.to_image( )
wc.to_file("C:/Users/Administrator/Desktop/new.png")
  1. 首先,导包
  2. 打开政府工作报告文件,并且读取文本存入text
  3. 使用jieba分词,生成字符串并使用空格连接,存入ss
  4. mask是使用该图像作为模板
  5. 创建一个词云示例wc,使用Wordcloud方法,并且定义font,background_color,max_words,mask,stopwords
  6. colormap为红色映射,后面两个设置词云的宽度和颜色
  7. wc.generate(ss)生成词云
  8. 展示图像并保存

七日天气-爬虫

#日期、天气如何、温度、风向、风速
import requests
from bs4 import BeautifulSoup
import time
import xlsxwriter
# 请求网页
def page_request(url, ua):response = requests.get(url=url, headers=ua)html = response.content.decode('utf-8')return html
# 解析网页
def page_parse(html):soup = BeautifulSoup(html, 'lxml')date = soup.select('#\\37 d > ul > li> h1')wendu_high = soup.select('#\\37 d > ul > li > p.tem > span')wendu_low = soup.select('#\\37 d > ul > li > p.tem > i')tianqi = soup.select('#\\37 d > ul > li > p.wea')fenxiang = soup.select('#\\37 d > ul > li > p.win > em > span')fengsu = soup.select('#\\37 d > ul > li > p.win > i')workbook= xlsxwriter.Workbook('tianqi.xlsx')#添加工作表worksheet=workbook.add_worksheet('data')headers=['日期','温度','天气','风向','风速']for col_num,headers in enumerate(headers):worksheet.write(0,col_num,headers)for i in range(6):print(date[i].get_text()+'\t'+wendu_low[i].get_text()+'\t'+wendu_high[i].get_text()+'\t'+tianqi[i].get_text()+'\t'+fenxiang[i].get_text()+'\t'+fengsu[i].get_text())data=[date[i].get_text(),wendu_low[i].get_text()+'-'+wendu_high[i].get_text(),tianqi[i].get_text(),fenxiang[i].get_text(),fengsu[i].get_text()]for col_num,value in enumerate(data):worksheet.write(i+1,col_num,value)workbook.close()
if __name__ == "__main__":print('**************开始爬取七日天气**************')ua = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4421.5 Safari/537.36'}# 豆瓣电影Top250每页有25部电影,start就是每页电影的开头url = "https://www.weather.com.cn/weather/101180101.shtml"html = page_request(url=url, ua=ua)page_parse(html=html)#print('**************爬取完成**************')

分成三个部分

  1. 对网页的请求
  2. 解析网页,返回html
  3. 对html进行处理

详细叙述第三部分

  1. page_prase方法,首先soup = BeautifulSoup(html, 'lxml')将处理后的html保存在soup里边

  2. 然后使用soup.select方法将天气,最高最低温度,风速,风向,日期都创建变量进行保存

  3. 这一部分添加工作表并进行保存

    workbook= xlsxwriter.Workbook('tianqi.xlsx')#添加工作表
    worksheet=workbook.add_worksheet('data')
    headers=['日期','温度','天气','风向','风速']
    for col_num,headers in enumerate(headers):worksheet.write(0,col_num,headers)
    for i in range(6):print(date[i].get_text()+'\t'+wendu_low[i].get_text()+'\t'+wendu_high[i].get_text()+'\t'+tianqi[i].get_text()+'\t'+fenxiang[i].get_text()+'\t'+fengsu[i].get_text())data=[date[i].get_text(),wendu_low[i].get_text()+'-'+wendu_high[i].get_text(),tianqi[i].get_text(),fenxiang[i].get_text(),fengsu[i].get_text()]for col_num,value in enumerate(data):worksheet.write(i+1,col_num,value)
    
  4. 最后workbook.close()将该工作表进行保存

创建一个person类,输出hello

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")if __name__=="__main__":person1 = Person("Alice", 25)person1.say_hello()

整数列表按奇偶排序,并且从小到大

def key(list1,list2):list3=[]list4=[]for i in list1:if i%2==0:list3.append(i)for i in list2:if i%2==0:list3.append(i)for i in list1:if i%2!=0:list4.append(i)for i in list2:if i%2!=0:list4.append(i)list3=sorted(list3)list4=sorted(list4)print(list4+list3)if __name__ == '__main__':list1=[1,5,8,2,22,9,7,20,25,24,99]list2=[111,112,113,114,115,116,117]key(list1,list2)

列表和元组的区别

列表(list)和元组(tuple)是 Python 中两种常用的数据结构,它们之间有以下几个主要区别:

1. 可变性

  • 列表(List)
    列表是可变的,可以修改元素的值、添加元素或删除元素。

    python复制代码lst = [1, 2, 3]
    lst[0] = 10  # 修改元素
    lst.append(4)  # 添加元素
    lst.remove(2)  # 删除元素
    print(lst)  # [10, 3, 4]
    
  • 元组(Tuple)
    元组是不可变的,一旦创建,不能修改其元素或结构。

    python复制代码tpl = (1, 2, 3)
    # tpl[0] = 10  # 会报错:TypeError: 'tuple' object does not support item assignment
    print(tpl)  # (1, 2, 3)
    

2. 性能

  • 元组因为不可变,所以在创建和访问时的性能通常比列表更高。
  • 如果需要处理大量不变的数据,使用元组更高效。

3. 用途

  • 列表更适合需要频繁修改数据的场景。
  • 元组更适合表示不可变的数据(如坐标、数据库记录)或作为函数返回多个值的容器。

4. 语法

  • 列表使用方括号

    []
    

    表示。

    python复制代码
    lst = [1, 2, 3]
    
  • 元组使用圆括号

    ()
    

    表示。如果元组只有一个元素,需加逗号。

    python复制代码tpl = (1, 2, 3)
    single_tpl = (1,)  # 单元素元组
    

异常+ZeroDivisionError

#解释python中的异常处理机制
# 1. 异常处理机制
# 在程序运行的过程中,可能会出现各种各样的异常,比如输入错误、文件操作失败等等。如果不对这些异常进行处理,程序将会终止运行,并给出错误提示。
# 为了避免程序终止运行,我们需要对可能出现的异常进行处理,并给出合适的提示信息。
# Python中提供了try...except...finally语句来处理异常。
# try语句用来包含可能出现异常的语句,except语句用来处理异常,finally语句用来执行一些清理工作,无论是否出现异常都会执行。
#演示代码如何捕获并处理ZeroDivisionError异常:try:a = 1 / 0
except ZeroDivisionError:print("division by zero!")# 运行上述代码,将会输出"division by zero!",说明程序正常运行,并捕获到了ZeroDivisionError异常。

画图

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec# 定义函数 y = e^(2x) * cos(3πx + π/3)
def f(x):return np.exp(2 * x) * np.cos(3 * np.pi * x + np.pi / 3)# 设置 x 的范围
x_range = np.linspace(0, 10)# 创建图形,设置自定义布局
fig = plt.figure(figsize=(8, 12))# 使用 gridspec 设置布局
gs = gridspec.GridSpec(2, 1, height_ratios=[2, 1])  # 上方大图占2/3, 下方小图占1/3# 创建子图1:步长 0.2
ax1 = plt.subplot(gs[0])  # 上面的大图
x1 = np.arange(0, 10, 0.2)
y1 = f(x1)
ax1.plot(x1, y1, label='Step = 0.2', color='b', linestyle='-', marker='o')
ax1.set_title('Step Size = 0.2')
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.grid(True)
ax1.legend()# 创建子图2和子图3:分别为步长 0.5 和 0.7,放在底部
gs2 = gridspec.GridSpecFromSubplotSpec(1, 2, subplot_spec=gs[1])  # 在底部创建两个子图# 子图2:步长 0.5
ax2 = plt.subplot(gs2[0])
x2 = np.arange(0, 10, 0.5)
y2 = f(x2)
ax2.plot(x2, y2, label='Step = 0.5', color='g', linestyle='--', marker='x')
ax2.set_title('Step Size = 0.5')
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.grid(True)
ax2.legend()# 步长 0.7
ax3 = plt.subplot(gs2[1])
x3 = np.arange(0, 10, 0.7)
y3 = f(x3)
ax3.plot(x3, y3, label='Step = 0.7', color='r', linestyle='-.', marker='s')
ax3.set_title('Step Size = 0.7')
ax3.set_xlabel('x')
ax3.set_ylabel('y')
ax3.grid(True)
ax3.legend()# 调整布局
plt.tight_layout()# 显示图形
plt.show()

数据分析

import  pandas as pd
import matplotlib.pyplot as plt# 读取数据
df=pd.read_excel('sales.xlsx',parse_dates=['date'])
print(df.head())
# 按店铺分组并计算销售和利润的总和
store_sales=df.groupby("store")[["sales","profit"]].sum()
print(store_sales)# 绘制柱状图
# 筛选出销售额大于200的记录
high_sales=df[df["sales"]>200]
print(high_sales)
# 按类别分组并计算利润的平均值
category_profit=df.groupby("category")["profit"].mean()
print(category_profit)
# 绘制各店铺总销售额的柱状图
store_sales["sales"].plot(kind="bar",figsize=(10,6),color="skyblue")
plt.title("Total Sales by Store")
plt.xlabel("Store")
plt.ylabel("Total Sales")
plt.show()
  1. 读取数据
  2. 计算销售和利润的总和
  3. 绘制柱状图,筛选出销售额大于200的记录
  4. 计算
  5. 绘制

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

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

相关文章

Flink链接Kafka

一、基于 Flink 的 Kafka 消息生产者 Kafka 生产者的创建与配置: 代码通过 FlinkKafkaProducer 创建 Kafka 生产者,用于向 Kafka 主题发送消息。Flink 执行环境的配置: 配置了 Flink 的检查点机制,确保消息的可靠性,支…

带头双向循环链表(数据结构初阶)

文章目录 双向链表链表的分类概念与结构实现双向链表定义链表结构链表打印判空申请结点初始化头插尾插头删尾删查找指定位置插入和删除销毁链表 顺序表和链表的分析结语 欢迎大家来到我的博客,给生活来点impetus!! 这一节我们学习双向链表&a…

41,【7】CTFHUB WEB SQL Cookie注入

搜索知Cookie 是由服务器发送给用户浏览器的一小段文本信息,浏览器会将其保存下来,并且在后续的请求中自动将 Cookie 发送回服务器。 所以可以联想到cookie会出现在请求处,可以使用BP抓包 找到了 又是整形注入 可知字节数为2 找到回显点 得…

unity学习16:unity里向量的计算,一些方法等

目录 1 unity里的向量: 2 向量加法 2.1 向量加法的几何意义 2.2向量加法的标量算法 3 向量减法 3.1 向量减法的几何意义 3.2 向量减法的标量算法 4 向量的标量乘法 5 向量之间的乘法要注意是左乘 还是右乘 5.1 注意区别 5.2 向量,矩阵&#x…

卷积神经05-GAN对抗神经网络

卷积神经05-GAN对抗神经网络 使用Python3.9CUDA11.8Pytorch实现一个CNN优化版的对抗神经网络 简单的GAN图片生成 CNN优化后的图片生成 优化模型代码对比 0-核心逻辑脉络 1)Anacanda使用CUDAPytorch2)使用本地MNIST进行手写图片训练3)…

堆的实现【C++】

堆的实现 概念实现完整代码 概念 介绍堆之前得说一下二叉树,因为堆的逻辑结构是二叉树,二叉树的树的子集,树只有一个根节点,向下衍生出了很多节点,并且这个节点之间相互没有连接,除非是父子节点&#xff0…

UI自动化测试:异常截图和page_source

自动化测试过程中,是否遇到过脚本执行中途出错却不知道原因的情况?测试人员面临的不仅是问题的复现,还有对错误的快速定位和分析。而异常截图与页面源码(Page Source)的结合,正是解决这一难题的利器。 在实…

ASP.NET Core - 依赖注入(三)

ASP.NET Core - 依赖注入(三) 4. 容器中的服务创建与释放 4. 容器中的服务创建与释放 我们使用了 IoC 容器之后,服务实例的创建和销毁的工作就交给了容器去处理,前面也讲到了服务的生命周期,那三种生命周期中对象的创…

gitlab runner正常连接 提示 作业挂起中,等待进入队列 解决办法

方案1 作业挂起中,等待进入队列 重启gitlab-runner gitlab-runner stop gitlab-runner start gitlab-runner run方案2 启动 gitlab-runner 服务 gitlab-runner start成功启动如下 [rootdocserver home]# gitlab-runner start Runtime platform …

麦田物语学习笔记:构建游戏的时间系统

基本流程 1.代码思路 (1)新建一个TimeManager.cs (2)创建枚举变量来表示四季,在TimeManager里需要的变量有: 游戏内的秒,分钟,小时,天,月,年;游戏内的季节;控制一个季节有多少个月;控制时间的暂停;计时器tikTime (3)在Settings里添加计时器的阈值,以及各个时间的进位 (4)初始化…

Spring Boot教程之五十七:在 Apache Kafka 上发布 JSON 消息

Spring Boot | 如何在 Apache Kafka 上发布 JSON 消息 Apache Kafka是一个发布-订阅消息系统。消息队列允许您在进程、应用程序和服务器之间发送消息。在本文中,我们将了解如何在 Spring Boot 应用程序中向 Apache Kafka 发送 JSON 消息。 为了了解如何创建 Spring…

计算机网络 (44)电子邮件

一、概述 电子邮件(Electronic Mail,简称E-mail)是因特网上最早流行的应用之一,并且至今仍然是因特网上最重要、最实用的应用之一。它利用计算机技术和互联网,实现了信息的快速、便捷传递。与传统的邮政系统相比&#…

代码随想录算法训练营day02| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

977. 有序数组的平方 双指针&#xff0c;新数组用k&#xff1b; 由于已经排序&#xff0c;所以比较两侧数据即可&#xff1b; class Solution { public:vector<int> sortedSquares(vector<int>& nums) {vector<int> ans(nums.size());int k nums.siz…

Unity 语音转文字 Vosk 离线库

市场有很多语音库&#xff0c;这里介绍Vosk SDK 除了支持untiy外还有原生开发服务器等 目录 安装unity示例demo下载语音训练文件运行demo结尾一键三联 注意事项 有可能debug出来的文本是空的&#xff0c;&#xff08;确保麦克风正常&#xff0c;且索引正确&#xff09;分大…

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP&#xff08;Internet Control Message Protocol&#xff09;是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息&#xff0c;提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试&#xff08;…

Lianwei 安全周报|2025.1.13

新的一周又开始了&#xff0c;以下是本周「Lianwei周报」&#xff0c;我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件&#xff0c;保证大家不错过本周的每一个重点&#xff01; 政策/标准/指南最新动态 01 美国国土安全部发布《公共部门生成式人工智能部署手…

计算机网络(五)运输层

5.1、运输层概述 概念 进程之间的通信 从通信和信息处理的角度看&#xff0c;运输层向它上面的应用层提供通信服务&#xff0c;它属于面向通信部分的最高层&#xff0c;同时也是用户功能中的最低层。 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时…

卷积神经02-CUDA+Pytorch环境安装

卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题&#xff0c;在此进行记录 0-核心知识脉络 1&#xff09;根据自己电脑的CUDA版本安装对应版本的Pytorch&#xff0c;充分的使用GPU性能2&#xff09;电脑要先安装【CUDA ToolKi…

shell 脚本基本练习

一、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容&#xff0c;不存在则创建一个文件将创建时间写入。 1. 创建ex1.sh文件 [rootopenEuler mnt]# vim ex1.sh创建如下&#xff1a; 2. 根据题目编写脚本 n"/tmp/siz.log"if [ -f "$n" ] thenc…

CNN-GRU-MATT加入贝叶斯超参数优化,多输入单输出回归模型

CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型 目录 CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现贝叶斯优化CNN-GRU融合多头注意力机制多变量回归预测&#xff…