python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组
#list
l1 = [1, 2, 3, '高弟弟'] #定义一个列表
#增
l1.append("DSB") #最后增加"DSB"的元素
#删
l1.remove("高弟弟") #删除"高弟弟"元素
l1.pop(3) #删除列表第4个元素
del l1[-1] #删除列表最后一个元素
#改
l1[3] = 'DSB' #修改第4个元素为'DSB'
#查
l2 = [2, 5, 4, 8, 6, 1, 4, 5, 3, 5]
l2.sort(reverse=False) #把列表正序排列
l2.sort(reverse=True) #把列表倒序排列
l2_sort = sorted(l2) #把列表正序排列
l1.reverse() #把列表倒叙排列 ## 元组(tuple)
t1 = (1,2,3,'高弟弟') #定义一个元组,元组无法进行更改
t2 = tuple(l1) #转为元组类型
l3=list(t1) #转为列表,即可进行更改
统计值计算示例

def get_nums():
"""获取数据"""
nums = []
num = input("请输入列表数字: ").strip()
while num != '':
nums.append(num)
num = input("请输入数字: ").strip()
return nums # 函数返回nums def get_len(a):
"""获取长度"""
len = 0
for i in a:
if i != '':
len += 1
return len def get_add(a):
"""求和"""
sum = 0
for i in a:
if i != '':
sum += eval(i) # 去除字符串引号
return sum def get_mean(a):
"""求平均数"""
mean = get_add(a) / get_len(a)
return mean def get_var(a):
"""求方差"""
sum = 0
for i in a:
sum += (get_mean(a) - eval(i)) ** 2 # 去除字符串引号
var = sum / get_len(a)
return var def get_median(a):
"""求中位数"""
num_sort = sorted(a) # 正序排列
len = get_len(a)
if len % 2 == 0:
med = (eval(num_sort[len // 2 - 1]) + eval(num_sort[len // 2])) / 2
else:
med = eval(num_sort[len // 2])
return med def calculator():
while True:
input_list = get_nums()
# 三引号字符串可以换行
print("""请输入以下数字:
1.求列表长度
2.求和
3.求平均值
4.求方差
5.求中位数
6.退出""")
while True:
input_num = input("请输入数字:")
if input_num == '':
print(get_len(input_list))
elif input_num == '':
print(get_add(input_list))
elif input_num == '':
print(get_mean(input_list))
elif input_num == '':
print(get_var(input_list))
elif input_num == '':
print(get_median(input_list))
elif input_num == '':
print("结束")
return # 结束当前函数
else:
print("输入无效,请重新输入") calculator()
py文件转为EXE文件
1.运行cmd,输入 pip install pyinstaller(如果慢,可把下载源改为清华源,方法见 https://mirrors.tuna.tsinghua.edu.cn/help/pypi/) ,安装pyinstaller

2.输入 pyinstaller --version,可查看当前pyinstaller库的版本

3.拷贝需要转为exe文件格式的项目路径。也可以打开pycharm程序,如下图对项目右键,点击copy path

4.在cmd中打开到当前路径(生成文件会在此路径下,否则在默认路径),输入pyinstaller -F -w 项目名称,其中-w参数可取消exe运行时cmd弹出窗口


5.exe文件生成完成,在画框的位置下

6.如下右图生成统计值计算exe文件,其中如下左图再上一个文件目录下会生成spec的临时文件,可以删除


然而打开文件,电脑报错

经过网上查找分析,我猜测与pyinstaller -F -w 命令中,-w参数取消exe运行时cmd弹出窗口有关。于是我测试在cmd下运行 pyinstaller -F 统计值计算.exe


经测试,运行成功,推断正确
爬虫初步学习
安装 http请求模块,为爬虫做准备

爬取百度首页
import requests url='http://baidu.com' res=requests.get(url=url) #发送请求,url=可以省略
res.encoding=res.apparent_encoding #res.encoding获取res的编码格式;res.apparent_encoding获取网页正确的编码格式
print(res.text) #返回的结果是处理过的Unicode类型的数据 resutlt:
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
爬取抽屉网信息
抽屉网会自动判断是否是脚本发送请求,如下图右下角复制用户代理信息

import requests
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
} #黏贴浏览器用户代理信息代理,并改为字典类型,伪装成浏览器访问
url = 'https://dig.chouti.com/'
res = requests.get(url,headers=header) #发送请求,header参数设定为给定参数,不设定header参数会被抽屉网判断为脚本
print(res.text) #返回的结果是处理过的Unicode类型的数据
爬取所得:

在pycharm中新键一个html文件,把结果复制进去。如下图,点击右上交搜狗浏览器图标进入浏览器打开

运行结果

图片无法显示,原因是抽屉网图片使用相对路径,非绝对路径,无法直接调用

python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习的更多相关文章
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]
print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...
- Python基础5:列表 元祖 字典 集合
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- Python基础5:列表 元祖 字典 集合 Json
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- 关于python文件转为exe文件
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...
- python 中的 字符串 列表 元祖 字典
str 1 格式化输出 %法 第一种 %s+tuple %d+tuple name = input('请输入你的姓名:') age = input('请输入你的年龄:') hobby = input( ...
- Python学习day4 数据类型Ⅱ(列表,元祖)
day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...
随机推荐
- 《Linux就该这么学》培训笔记_ch01_部署虚拟环境安装Linux系统
<Linux就该这么学>培训笔记_ch01_部署虚拟环境安装Linux系统 文章最后会post上书本的笔记照片. 文章主要内容: 在虚拟机中安装红帽RHEL7系统 在Linux系统中找回r ...
- Linux shell脚本单例模式实现
一.说明 关于单例模式,最开始的是一些小工具,运行起来后再点击运行时会提示已经运行了一个实例,觉得挺有意思但也没有很在意. 前段时间看了前领导的一段代码不太懂是做什么用的,同事查了下资料说是为了实现单 ...
- TF-IDF算法简析
TF-IDF算法可用来提取文档的关键词,关键词在文本聚类.文本分类.文献检索.自动文摘等方面有着重要应用. 算法原理 TF:Term Frequency,词频 IDF:Inverse Document ...
- 第七节:Asp.Net Core内置日志和整合NLog(未完)
一. Asp.Net Core内置日志 1. 默认支持三种输出方式:控制台.调试(底部输出窗口).EventSource,当然也可以在Program类中通过logging.ClearProviders ...
- IDEA中Tomcat部署时war和war exploded区别
原理说明 war模式:将WEB工程以包的形式上传到服务器 :war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器: 含义解释 war模式这种可以称之为是发布模式,看名字也知道, ...
- vs2015 出现的错误lnk:200:-main已在ax.obj中定义
原因是:一个项目里只能有一个main函数, 如果出现 error:LNK200 的错误,那么需要检查你是不是有两个源代码文件中都定义了main函数. 解决方案: 把其中的一个main函数删掉
- SQL Server 中获取一个表的字段信息
直接贴代码了: SELECT sysobjects.name AS TableName, syscolumns.Id AS TableId, syscolumns.name AS DbColumnNa ...
- 「UNR#2」黎明前的巧克力
「UNR#2」黎明前的巧克力 解题思路 考虑一个子集 \(S\) 的异或和如果为 \(0\) 那么贡献为 \(2^{|S|}\) ,不难列出生产函数的式子,这里的卷积是异或卷积. \[ [x^0]\p ...
- LinkedList、ArrayList、Vector三者的关系与区别?
LinkedList.ArrayList.Vector三者的关系与区别? 区分ArrayList,Vector,LinkedList的区别 ArrayList,Vector的区别: 1.出现版本:Ar ...
- JavaScript入门(一)
JavaScript入门篇—开篇 Document对象 1Document对象表示当前页面,HTML在浏览器中是以DOM形式表示为树形结构.Document是DOM树的根节点.(因此需要查找DOM树中 ...