技术标签: 蓝桥杯python组
在蓝桥杯的程序设计比赛里新增加了python组,这是一个全新的组别,目前蓝桥杯官网已经开通了python的练习平台,链接http://dasai.lanqiao.cn/
如何准备2020年蓝桥杯python程序设计呢,我分为四个部分讲解,了解这四个部分,将有助于备战此次比赛
一、python基本的语法
学到面向对象就差不多了,不需要太深入学习面向对象后面的内容。因为这是程序设计比赛,很少会涉及到python的高阶知识,因此我建议学完基本的面向对象即可,后面的不必深入。当然,python在人工智能等领域是有很大用武之地的,因此想走这些方向的同学可以深入的学下去。
二、掌握python标准库
蓝桥杯是不支持第三方库的,后面注意事项里面我会讲到,但是python的标准库就已经琳琅满目了,学好python标准库,将是一个事半功倍的过程。
三、找一本大纲开始刷题和学习
推荐《算法竞赛入门经典》,虽然是c++的,但是非常适合作为大纲,题目也完全符合蓝桥杯难度,你需要做的,就是学会这些思想,然后用python实现。
四、注意事项
1.不支持第三方库
蓝桥杯python组,不支持第三方库,仅能使用python的标准库,这就需要知道python的常用标准库有哪些,哪些在算法比赛中比较常见,学会一些常用的标准库,对于我们解题是十分有帮助的,方便且快速。
对于蓝桥杯中可能用到python的标准库,我会更新给大家,关注我,不迷路,这里先将整个思路讲一遍。
公众号:
2.只有python自带的IDE
所有,还在使用pycharm的同学,请赶紧适应过来,否则在比赛的时候肯定会吃大亏,这个ide不是很好用
3.python版本为Python 3.6.5
请务必按照这个版本,这里推荐使用Anaconda,这里就不详细介绍了
4.刷题
推荐《算法竞赛入门经典》,这是c++的,可以当做一本大纲来使用,主要理解其中的思想,自己用python实现
ps:python的算法书,好的是真没有什么呀
5.用python刷算法题中的小技巧
我们需要知道python的一些常用小技巧:
下面列出一些在蓝桥杯python编程需要用到的小技巧:
学习过python的同学一定知道,学习python语法是很简单的一件事情。相比于c,c++,再简单不过了,我相信稍微有一点编程基础的同学,用上一天就能把python的基础语法差不多掌握。但是,在实际写代码的时候,总是会遇到各种各样的“坑”,让初出茅庐的我们经常“卡死”在某一个小环节上,然后开始怀疑人生。
我将一些比较实用的坑给大家罗列一下,让代码之路更加平坦一些吧!
列表怎么转化为字符串
一个列表存储了一段字符
ls = ["1","2","3"]
我们怎么样把这个列表变成一个字符串 “123”呢?
也许你有很多的想法,但是下面这一句代码可以很好的解决这个问题:
"".join(ls)
这样就将ls转化为字符串了,它的返回值时:“123”
字符串可以看做可迭代对象
众所周知,列表是可以迭代的:
ls = ["a","b","c"]
for i in ls:
print(i)
a b c
字符串也可以这样操作:
s = "abc"
for i in s:
print(i)
a b c
字符串是不可变对象
我们有时候会想改变字符串里的某一个字符,例如将“abc”变成“abd”,于是有了下面的代码:
s = "abc"
s[2] = "d"
看上去非常合理,运行一些,哦豁,报错了,鲜红的字体:TypeError: 'str' object does not support item assignment
这是为啥呢?真相就是,在python中,字符串是不可变的,在python中,像这样的例子还有这些:数字
字符串
元组
不可变集合
他们都不支持原处修改的,切记
那么,怎么样去修改固定的某一个字符呢?
可以先将字符串转化为列表,修改完之后再转化为字符串
s = "abc"
temp = list(s)
temp[2] = "d"
s = "".join(temp)
print(s)
太长了,有没有更好一点的办法呢,有,使用replace函数:
s = "abc"
s = s.replace("c","d")
print(s)
当然还有其他的办法,但是你要记住的就是,字符串是不可变的!
怎么样接收由空格分开的多个数据
这个在算法题里面是很常见的,
我们有时候想会接受多个数据,但是是用空格分割的,怎么样去接收呢?很简单,用split函数:
ls = input().split()
split()函数括号里填写的是分割符,不填默认的就是空格,这样,假如你输入 1 2 3:
ls就等于 [1,2,3],接下来你就可以随意取用了
同时改变列表中所有元素的类型
比如说你有一个列表,里面的列表元素全部都是字符型,你需要将这些字符全部转化为int型,这个时候你可以写一个循环来实现,但是更加简洁的方法是使用map函数
ls = input().split()
ls2 = list(map(int,ls))
map函数说白了,就是对可迭代对象里面的每一个元素,进行同一种映射,上面的代码就是将ls里的每一个元素,都用int()函数映射为int型,将返回的对象再用list()函数转换为列表
假如ls1 = ["1","2","3"]
那么ls2 = [1,2,3]
公众号:
文章浏览阅读5k次。某天突发奇想,能不能通过软件把电脑主机和显示器绑定,于是研究了下,发现需要获取显示器的DDC信息,通过驱动层面获取难度比较大,网上查询了下,linux的driver里video中有相关代码段,通过一直可以搞定,不过没有尝试,最后通过注册表发现了一个键值也能达到目的,HKEY_LOCAL_MACHINE->SYSTEM->ControlSet001->Enum->Display中的第一项就是_edid-decode查询显示器序列号
文章浏览阅读2.3w次,点赞95次,收藏75次。数据中台是企业开展数据要素相关实践和数字化转型的关键基础设施,拥有一个高效的数据中台是任何企业都无法忽视的事情,通过数据中台,企业可以构建自己的数据基座,让数据流转起来,形成闭环,为业务创新源源不断地赋能,在把自身隐藏的或被低估的潜能激发出来的同时,加速企业数字化转型,重构数字战斗力。_周傲英
文章浏览阅读3k次。微信小程序分为“视图层”和“逻辑层”。视图层是在 webview 中渲染,逻辑层则用 JavaScriptCore 来渲染。其中视图层可以有多个,但逻辑层则只有一个。小程序中视图层负责页面渲染,逻辑层负责逻辑处理、状态管理、请求和接口调用。逻辑层和视图层的通信是通过微信的 JSBridge 实现的。逻辑层数据变化通过 JSB 通知到视图层,触发视图层更新;当视图层触发事件则继续通过 JSB 将事件通知到逻辑层做处理。WeixinJSB 在开发者工具、IOS 和 Android 的实现机制不同。在调用 Na_微信小程序document
文章浏览阅读287次。工具: 1.PETool 2.HxD 步骤: 1.PE查看rar程序的结构: 重定位的具体信息如下: 2.删除.reloc的节区头 从地址278开始,删除到29c+3 这部分清零。 3.删除.reloc节区 ..._减少重定位表
文章浏览阅读1.8w次,点赞212次,收藏676次。详细讲解应聘软件测试岗位所需要掌握的一些列基础知识与技能,包括软件测试的基本概念和基本流程、基础的网络知识、常用的数据库技能以及常用的Linux命令等。_测试工程师需要哪些知识储备
文章浏览阅读1.1w次。Photoshop视频教程1000G免费资源整合/仅限100个名额领取■来源:晚安夕颜 ID:iiixiyan终身会员办理今天小编为你精选了万能文库下载区支持游览器版本:360游览器,IE,,,支持系统:win/Mac获取方式:添加小编微信「XiaoBian08021314」注意大小写分享转发群免费获取自我困扰区对于学生党来说,经常会用到如百度文库、豆丁网等网站下载文档资料。特别是即..._如何下载道客巴巴收费ppt
文章浏览阅读2.8k次。这是一段关于高级错误报告的信息,其中包含多个字段和值。_pci_capability_pciexp
文章浏览阅读4.3w次,点赞9次,收藏5次。PotPlayer 无损截取视频片段_potplayer录制怎么无损画质
文章浏览阅读1.7k次。记录一下大额数据转换,bigNumberTransform (value) { const newValue = ['', '', ''] let fr = 1000 let num = 3 let text1 = '' let fm = 1 while (value / fr >= 1) { fr *= 10 num += 1 // console.log('数字', value / fr, 'num:', num) _js如何分离出1000.1万9.5亿数字和单位
文章浏览阅读439次。一、利用flexpaper显示pdf文件1.利用office10 将doc文件转为pdf2.利用swftools 将pdf 转为swf 这里需要注意的是参数 pdf2swf.exe -t 源文件 -s version=9 -o 目的文件 否则会出现加载flexpaper加载不上swf文件这个是网上的PSD2swfHelper.cs 工具类 using System.Web;_pdf预览评分
文章浏览阅读1.4w次。4. 打开“每个实际的指标”5. 默认“全部指标”-勾选“指标名称”为NetworkIn,NetworkOut的选项,我因为这个月总共开了两个实例,所以有两组网络输入和网络输出。6. 选择“绘成图表的指标”-界面上部选择“数字”-页面中间“统计数据”选择“总计”,箭头指向的两个时间段根据自己的需要选择查看。点击以在 Twitter 上共享(在新窗口中打开)点击以在 Facebook 上共享(在新窗..._亚马逊aws免费观看
文章浏览阅读1.4k次。@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);ed2k://|file|%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2PH...