算法专项—新手村

news/2024/11/18 2:51:43/文章来源:https://www.cnblogs.com/gsupl/p/18389267
    根据对码蹄集新手村的刷题经验;此片文章对python基本的语法进行简单的总结!

一:python输入输出

1、python 中使用print函数输出语句;默认print输出会打印回车;在python中双引号和单引号的作用是相同的!

print("gsupl")
print("gsupl","yyds",sep='****')#用****分割
print("gsupl"+"yyds")#使用+进行拼接
print("guspl"*10)#输出10次
print("gsupl",end='')#取消默认的回车

二:python基本运算

1、切记在python中不同类型之间的数据不能直接进行运算;需要转化为同一类型的数据进行运算;

eg:input()输入的数据类型为str;如果需要进行运算;需要进行类型转化

/ #除法
% #取余
** #次方运算
a in b #判断a是否在b里面
a not in b #反之

三:python列表

1、列表的格式

#变量名称=["元素1","元素2","列表1","元素4"]
#元素类型是不受限制的,元素就是数据
eg:name_list=["wo","xi","huan","ni","520",[1,2,3]]
#定义空变量  变量名称=[]  变量名称=list()

2、列表的索引

name_list=["tom","kali","rose",[1,2,3]]
可以通过索引取出对应位置的元素,从左向右从0开始,从右向左从-1开始
print(name_list[0])#结果为tom
print(name_list[-1])#结果是[1,2,3]
#嵌套列表的下的索引
print(name_list[-1][-1])#结果是3

3、列表的常用方法

(1)len() 计算长度

name_list=["tom","kali","rose",[1,2,3]]   
print(len(name_list))#结果为4

(2)查询某元素的下标 index()方法

name_list=["tom","kali","rose",[1,2,3]]   
A=name_list.index("tom") 
print(f"tom在列表中的下标索引为{A})#结果为0

(3)修改特定位置的元素值

name_list=["tom","kali","rose",[1,2,3]]
name_list[0]="yy"#将tom修改为yy
name-list[0][2]=[11,22,33]#将tom,kali,rose修改为11,22,33

(4)在指定的下标位置插入元素 ,insert()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list.insert(1,"yy")#在kali后面插入yy元素

(5)在列表末尾追加元素,append()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list.append("yy")#在[1,2,3]后面添加元素yy

(6)在列表末尾追加一个列表,extend()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list1=["toms","kalis","roses",[1,2,3s]]   
name_list.extend(name_list1)#结果就是将name-list1的元素添加到name_list中

(7)删除列表中元素的删除 del关键字方法 pop()方法 remove()方法

A=["tom","kali","rose",[1,2,3]]
del A[0]#删除了tom 
A.pop(0)#删除了tom并且取出了tom,并且可以赋值给变量
A.remove("tom")#通过名称进行删除,删除相同名称的第一个元素
A.clear()#清空A整个字典

(8)统计某个元素在列表中的数量count()方法

A=["tom","kali","rose","kali","kali",[1,2,3]]
b=A.count(kali)#kali在A中出现的次数

(9)给列表中的元素进行从小到大排序sort()方法和倒置排序reversed()方法

A=["tom","kali","rose","kali","kali",[1,2,3]]
A.sort()#给列表进行大小排序#使用sort方法时必须列表元素都是数字才可以
A.reversed()#进行倒置排序

四:python字符串

1、在python中字符串和其他语言一样

(1)字符串的替换

#通过下标索引取出相应的字符
str='gsupl'
print(str[0])
print(str[-1])
print(str[:2])#从头开始取到索引为2
print(str[2:])#从索引2开始取剩下全部的
print(str(::2))#步长为2;结果为 gup
print(str(::-1))#反转;相当于reversed()
#常见方法
str.count("g")#统计g出现的次数
len(str)#计算字符串的长度
str.replace("gsupl","admin")#替换字符串

(2)字符串的分割.split()方法

str="gsupl"
str.split("1")#将字符串以1进行分割;返回结果是列表list

(3).strip()去除空格

(4)遍历

str="gsupl"
for i in str:print(i)

五:python元组

1、元组的定义

(1)元组不可以修改数据,但是可以修改里面嵌套的列表或者元组

2、元组的常用方法

(1)通过下标索引输出元素

a=(1,2,3,4,5,6,7,8,9)  
print(a[0])#结果为1

2,由于元组不可修改,所以不能增删

a=(1,2,3,4,5,6,7,8,9) a.index(3)#查看3元素的下标索引
a.count(2)#查看2在元组中的出现的次数
len(a)#结果是9
print(a[3:5])

六:python字典

1、字典的定义

字典容器中数据的存放形式是通过键值对;通过key找到对应的value;在进行查找修改和替换的时候都是用key进行操作

2、字典的常用方法

(1)在字典中获取数据,不能通过下标索引,只能通过key找到value

my_dict={"zbx":"122","zqw":"123"}
a=my_dict["zbx"]#通过key(zbx)去获取它对应的value的值

(2)字典的嵌套使用(字典中的key和value)是任意数据类型(key不可为字典)

my_dit={"aa":{"语文":"66","数学":"99"}}
my_dit["aa"]["语文"]#取到了aa的语文成绩为66

(3)新增字典的元素(如果key存在,就修改,如果没有就新增)

my_dict={"zbx":"122","zqw":"123"}
my_dict["zbx":"221"]#修改zbx对应的value值,输出为221
my_dict["zyy":"122"]#新增元素

(4)删除元素 pop()方法

my_dict={"zbx":"122","zqw":"123"}
my_dict.pop("zbx")#删除zbx元素
my_dict.clear()#清空字典
my.keys()#获取字典的全部key
my_value()#获取全部的value
my_items()#获取全部的键值对

七:python集合

1、集合的定义

(1)集合不支持重复的元素

my_set={"aaa","bbb","ccc","ddd"}
#空集合的定义,不允许重复,内容是无序

2、集合常用的使用方法

(1)由于集合是无序的,所以不支持下标索引查找元素

(2)添加新元素 add()方法

my_set={"aaa","bbb","ccc","ddd"}
my_set.add("eee")#添加元素"eee",如果添加相同的元素,会自动去重
#add()方法只能用于集合,用于列表会出错

(3)删除元素 remove()方法 pop()方法 clear()方法

my_set=["aaa","bbb","ccc","ddd"]
my_set.remove("aaa")
print(my_set)
#my_set.pop()随机取出一个元素
my_set.clear()#清空集合
set1={1,2,3}
set2={1,5,6}
set3=set1.difference(set2)#输出结果为2,3,有点类似于离散数学的差集
set1.difference_update(set2)#消除和set2内相同的元素,set1发生变化,set2不发生变化

(5)两个集合的合并(自动去重)union()

set1={1,2,3}
set2={1,5,6}
set3=set1.union(set2)#结果是1,2,3,5,6#会自动去重
len(sat1)#统计集合set1的元素数量

八:python 循环

1、以一个简单的示例;注意;break和continue的区别

(1)break:遇到break退出循环

(2)continue:遇到continue跳出当前循环;进入下一次循环

import random
all_choices = ['剪刀', '石头', '布']
win_dict = [('剪刀', '布'), ('石头', '剪刀'), ('布', '石头')]
data1=0
data2=0
count=3
while count:player_choice = input("请出拳(剪刀/石头/布): ")computer_choice = random.choice(all_choices)print("电脑出的是", computer_choice)print("玩家出的是", player_choice)if player_choice == computer_choice:print("平局")elif ['player_choice','computer_choice'] in win_dict:print("电脑赢")data1+=1else:print("玩家赢")data2+=1count-=1
if data1>data2:print("最终结果为电脑胜利",end='')
else:print("最终结果为玩家胜利",end='')

九:python文件操作

1、打开文件


#打开文件的两种方式
f=open("文件名/文件路径","要进行的操作",encoding="utf-8")
#其中utf-8可以省略不写
with open("文件名/文件路径","要进行的操作",encoding="utf-8") as f:
#这两种的区别,第一种需要进行手动关闭文件,里面没有内置关闭f.close
第二种内置关闭,不需要手动关闭

2,文件相应的操作

(1)文件的读操作a(在文件读模式中,如果文件不存在,则会发生异常)

#read()读取文件中全部的内容
#readlines()读取文件中的全部内容并以列表的形式输出
#readline()是将文件内容一行一行的读取
#文件读取操作中从在指针的问题,这里需要注意以下
with open("1.txt","r") as f:print(f.read())print(f.readlines())print(f.readline())

(2)文件的写操作w(如果文件不存在,在写模式中会自动创建这个文件,不会出现读操作中异常)

#在文件写操作中,需要注意的是,写入内容后不能直接查看文件中的内容,需要将文件关闭,然后重新打开,换到读操作才可以查看文件里的内容
with open("1.txt","w") as f:f.write("我喜欢你")
with open("1.txt","r") as f:print(f.readlines())#输出的内容是"我喜欢你”

(3)文件的追加操作a(在原有的基础上追加内容)

#文件的w,是清除原来的内容重新写入,而文件的a是在原有的内容上进行追加操作
with open("1.txt","w") as f:f.write("我喜欢你")
with open("1.txt","r") as f:print(f.readlines())
with open("1.txt","a") as f:f.write("我也喜欢你")
with open("1.txt","r") as f:print(f.readlines())

十:python异常处理

1、python异常捕获

try:with open("2.txt","r") as f:print(f.readlines())
except:print("存在异常,2.txt文件不存在")
else:print("异常不存在,继续读取文件中的内容")
finally:print("无论文件存不存在,我都要执行这个命令")

十一:python函数定义

十二:python 调用库

(1)from ... import ... as f

from time import sleep#从time模块中调用sleep 函数
from time import sleep as f #把sleep名字变为f,出现函数名字太长是可以用到
print("开始")
sleep(2)
#f(2)相当于sleep()
print("结束")

(2)import ...

#使用import直接调用模块
#可以按ctrl查看模块time具体详情
import time
print("开始")
time.sleep(2)
print("结束")

(3)第三方包下载方法

1,通过python里面的pip程序进行安装

#打开cmd命令框
#下载命令 pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
#卸载命令 pip uninstall nump
#查看下载的模块或者包 pip list
#更新pip pip --outdated
#查看pip的安装位置 where pip

2,通过pycharm进行安装第三方软件包

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

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

相关文章

算法专项—码蹄集

纵有疾风起;人生不言弃!根据对码蹄集新手村的刷题经验;此片文章对python基本的语法进行简单的总结!一:python输入输出 1、python 中使用print函数输出语句;默认print输出会打印回车;在python中双引号和单引号的作用是相同的! print("gsupl") print("gsup…

算法专项-码蹄集 新手村

纵有疾风起;人生不言弃!一:python输入输出 1、python 中使用print函数输出语句;默认print输出会打印回车;在python中双引号和单引号的作用是相同的! print("gsupl") print("gsupl","yyds",sep=****)#用****分割 print("gsupl"+&q…

智慧监管:地理信息与遥感技术驱动下的社会治理新纪元

在信息化浪潮席卷全球的今天,智慧监管已成为推动社会治理现代化的关键力量。本文将深入剖析智慧监管的概念、技术基础、应用场景及其对社会发展的深远影响,探讨如何在新时代背景下,利用地理信息与遥感技术构建更加智慧、高效的监管体系。智慧监管:定义与核心理念智慧监管是…

CVE2024-4577 成因梳理

CVE-2012-1823 提到PHP-CGI有关的漏洞 就不得不提起CVE-2012-1823 该漏洞利用php-cgi将用户传入的cgi数据中的query_string部分的-后参数当做了 脚本的处理参数处理 攻击者可以利用-d参数修改配置项 实现远程命令执行的效果 也可以-i读出源码 当时这个漏洞被apache修复了 修复的…

sipp模拟uas发送update

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 但是fs在处理update消息时候有BUG,为了复现问题,使用sipp模拟uas,发送update并发送DTMF码。 本文档记录sipp的配置方案。 环境 CentOS 7.9 freeswitch 1.10.7 sipp.3.6.2 问题描述 在与运营商对接的过程中,运营商内部…

PbootCms模板中如何写 PHP 代码?

模板中编写 PHP 代码 在 PbootCms 中,执行 PHP 代码存在两种方式: 其一: /方法一/ {php} echo Hello Word! {/php} 其二: /方法二/ 鉴于 PbootCms 的模板机制,在原生 PHP 代码当中,是不能够对 pb 标签里的值予以二次处理的。 比如说(错误示范) 在后台存在一个字段{cont…

后台传值与dialog的使用

1.后台在给前端传值时需要id来作为唯一索引查找,前后端对应才能查找到对应的数据 我今天后端写好了代码但是前端没有把id引入导致更新信息不好使获取数据时一定要把id取到 2.dialog方法 这是一个简单的弹出框,里面是编辑内容的form卡片 将dialog的属性为true就能在页面显示,…

PbootCMS全站模板date时间标签/时间格式常见的8种调用方式

首页/列表标签:列表页时间:[list:date] 效果:2021-12-06 09:12:30列表页时间:[list:date style=Y-m-d] 效果:2021-12-06列表页时间:[list:date style=Y 效果:2021列表页时间:[list:date style=m-d] 效果:12-06列表页时间:[list:date style=y-m-d] 效果:21…

pbootcms调用标题和摘要描述字数限制方法

长度截取可以采用 len=* 或者 lencn=* 的方式。其中,使用 lencn=* 能够规避中英文长度不一致的问题,因为在这种设置下,一个英文字符被算作半个字。 在(V1.3.5+)版本中,进行内容截取时,可以通过 more=*来设置省略号内容,而若设置 more=则不会显示省略号。 例如:在对内容…

构建智慧人才档案,驱动未来发展新引擎 —— 解锁人才管理新篇章

在这个日新月异的时代,人才已成为企业最宝贵的资源,是推动社会进步和企业持续发展的核心动力。如何高效、精准地管理人才,让每一位员工的潜能得以最大化释放,成为了每一个组织面临的重大课题。人才档案报表不仅仅是一份简单的信息汇总,它是基于大数据与人工智能技术,对每…

标签贴错,AMD召回所有新一代CPU

前言 上个月,AMD 首席执行官苏姿丰博士在 ComputeX 开幕主题演讲上揭开了 Zen 5 架构的神秘面纱。作为 AMD 未来几年 CPU 的台柱子,Zen 5 立刻被引入消费级市场,面向笔记本和台式机的产品在几周内相继发布。 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术…

pbootcms模板发布文章显示的默认作者如何修改?

扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。专业解决各种疑难杂症,您有任何网站问题都…