Python学习笔记
S40D1
这个作者很懒,什么都没留下…
展开
-
1.1获得python
1.1获得python在官网(http://www.python.org)找到最新的版本并下载。原创 2017-12-12 19:59:03 · 151 阅读 · 0 评论 -
3.10常用操作符
一、算术操作符 +(加) -(减) *(乘) /(除) %(取余) **(幂运算) //(地板除法)举例:>>> >>> a = b = c = d = 10>>> a += 1>>> b -= 3>>> c *= 10>>> d /= 8>>> print(a, b, c, d)11 7 100 1.25>>> 3//21>>> 3.0原创 2018-01-15 21:31:55 · 151 阅读 · 0 评论 -
4.1分支与循环
从打飞机游戏来解释一般游戏的组成和架构。首先进入游戏,其实就发现进入了一个很大的循环,基本上每一个游戏的套路都是一样的,甚至操作系统的消息机制使用的也是同样一个大循环来完成的。游戏中只要没有触发死亡机制,敌机就会不断的生成,足以证明整个游戏就是在一个很大的循环中来进行的。接下来看一下分支的概念,分支也就是经常使用的 if-else 条件判断。在条件持续保持成立或不成立的情况下执行固定流程。原创 2018-01-15 22:29:23 · 159 阅读 · 0 评论 -
4.2课堂小练习
按照100分制,90分以上为A,80~90分为B,60~80分为C,60分以下为D。要求写一个程序,当用户输入分数,自动转换为A、B、C或D的形式打印。# p4_1.pyscore = int(input('请输入一个分数:'))if 100 >= score >= 90: print("A")if 90 > score >= 80: print("B")if 80 > s原创 2018-01-16 22:16:04 · 263 阅读 · 0 评论 -
4.3python可以有效避免“悬挂else”
什么叫“悬挂else”?举个例子 ,初学C语言的朋友可能会被以下代码欺骗:if (hi>1) if (hi>7) printf("好棒好棒!")else printf("切~")在这个例子中,虽然else想与外层if匹配,但是按照C语言的语法,这个else是属于内层if的。初学者的一不小心,就容易导致bug出现,这就是“悬挂else”。pyt原创 2018-01-17 14:56:09 · 591 阅读 · 0 评论 -
4.4条件表达式(三元操作符)
我们说的“多少元”操作符的意思是有多少个参与了该操作符的的运算。语法:a = x if 条件 else y 表示条件为True的时,a的赋值为x,条件为False的时候,a的赋值为y。举一个例子莱说明条件表达式的用法:if x < y: small = xelse: small = y将上述代码写成三元操作符语法:small = x if x原创 2018-01-17 16:14:31 · 411 阅读 · 0 评论 -
4.5断言
断言(assert)的语法其实有点像是if条件分支语句“近亲”,assert这个关键字称为“断言”,当这个关键字后面的条件为假的时候,程序自动奔溃并抛出AssertionError。什么情况下需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其错误的条件导致今后程序莫名其妙的崩溃,不如在错误条件出现那一刻就实现“自我毁灭”:>>> assert 3<4>>> assert 3>原创 2018-01-17 16:49:15 · 153 阅读 · 0 评论 -
4.7range()
for循环还有一个小伙伴:range()内建函数。语法:range([start,] stop[,step=1]) 这个BIF的三个参数中,中括号括起来的表示可选参数。step = 1表示第三个参数的默认值是1。功能: 生成一个从start参数的值开始,到stop参数的值结束数字的序列。常与for循环混迹于各种计数循环之间。只传递一个参数的range(),原创 2018-01-17 20:58:38 · 196 阅读 · 0 评论 -
4.6python中的循环语句
一、while循环语句python的while 循环和if条件分支类似,在条件为真的情况下执行一段代码,把这段代码称为循环体。 while 条件: 循环体二、for循环语句 python的计数器循环,也就是for循环。python的for循环与C语言的for循环语法不太一样,python的for循环显得更加智能和强大!这主要表现在 在它会自动调用迭代原创 2018-01-17 20:55:34 · 288 阅读 · 0 评论 -
4.8 break语句
break语句用于结束当前循环,跳出循环体,举个例子。# p4_4.pybingo = '小蟑螂是帅哥!'answer = input("输入小蟑螂最想说的一句话:")while True: if answer == bingo: break answer = input("错啦!请重新输入,答案正确才能退出游戏:")print("哎哟,不错哦!")原创 2018-01-17 22:16:37 · 130 阅读 · 0 评论 -
4.9 continue语句
continue语句的作用是终止本轮循环,开始下一轮循环(注意:开始下一轮循环前先测试循条件)。举个例子:# p4_5.pyfor i in range(10): if i%2 != 0: print(i) continue i += 2 print(i)得到的结果为:21436587109>>>原创 2018-01-17 22:31:52 · 188 阅读 · 0 评论 -
Python实现凯撒密码算法及暴力破译凯撒密码算法
一、凯撒加密法是什么?加密原理非常简单,就是对字母表中的的每个字母,用它后面的第key个字母来代替。例如:明文:meet me after the toga party密文:PHHW PH DIWHV WKH WRJD SDUWB其中key=13。 我们可以使每个A~Z中每个字母依次对应0~25等26个数字。那么加密算法可以如下表达,对每个明文字母p,代替成密文字母C:...原创 2018-10-14 12:40:52 · 10630 阅读 · 1 评论 -
3.9闲聊数据类型
一、获得关于类型的 信息 python 提供了一个函数,可以明确明确告诉我们变量类型,这就是type()函数:>>> type('520')>>> type(5.20)>>> type(5e20)>>> type(520)>>> type(True)>>> 同时isinstance()这个BIF来确定变量类型,它会根据两个返回一个布尔类型的值,True表示类型一致,Fa原创 2018-01-15 17:05:35 · 222 阅读 · 0 评论 -
3.8引入外援
第三个改进要求:每次运行程序,答案是随机的,需要怎么实现呢?需要引入外援:random模块。这个random module里边有一个函数叫做randint(),它会返回一个随机 的整数。可以利用这个函数 来改造我们的游戏:#p3_1.pyimport randomsecret = random.randint(1,10)temp = input("不妨猜一下小甲鱼现在心里想的是哪个原创 2018-01-14 17:06:17 · 202 阅读 · 0 评论 -
3.7while循环
第二个改进要求:程序提供多次机会呢给用户猜测。专业一点就是程序需要重复运行某些代码。下面介绍python的while用法: while 条件: 条件为真(True)执行操作对第二要求修改后为:while guess != 8: temp = input("再来一次:") guess = int(temp)原创 2018-01-14 17:05:19 · 172 阅读 · 0 评论 -
1.2从IDLE启动python
1.2从IDLE启动pythonIDLE是一个python shell,shell的意思是“外壳”,从基本上说,就是一个通过输入文本与程序交互的途径。像为windows的cmd窗口,像linux那个黑乎乎的命令窗口,他们都i是shell,利用他们,就可以给操作系统下达命令。同样,可以利用IDLE这个shell与python进行交互。原创 2017-12-14 12:55:34 · 335 阅读 · 0 评论 -
1.3失败的尝试
像下面这样输入,python就会“笨笨的”出错:>>> print"I love fishc.com" #这是python2.x的用法SyntaxError: invalid syntax>>> printf(“I love fishc.com”) #这是C语言的用法SyntaxError: invalid character in identifier>>> 其实pyt原创 2018-01-11 13:17:45 · 166 阅读 · 0 评论 -
1.4尝试点儿新的东西
在IDLE 中输入print(5+3)或者直接输入5+3:>>>print(5+3)8>>>5+38看起来python还会做加法!这并不奇怪,计算机最开始就是用来计算的,任何编程语言都具备计算能力,接下来看看python在计算机方面有何神奇。 计算1234567890987654321*9876543210123456789>>>1234567890987654321*98765原创 2018-01-11 13:51:30 · 176 阅读 · 0 评论 -
1.5为什么会这样?
试试输入print("I love python\n"*3):>>> print("I love python\n"*3)I love pythonI love pythonI love python但如果输入print("I love python\n"+3):>>> print("I love python\n"+3)Traceback (most recent call原创 2018-01-11 14:02:19 · 230 阅读 · 0 评论 -
2.1第一个小游戏
目前对于我们掌握的基础,貌似只有print()这个BIF(内置函数)。接下来来一则文字游戏 ,我们来一波操作:打开IDLE。选择File>New Window命令(或者ctrl+N,很多地方这个快捷键都是新建一个文件的意思)。输入以下代码:#p2_1.py"""第一个小游戏"""temp=input("不妨猜一下 小蟑螂现在心里想的是哪个数字:")guess=int(temp原创 2018-01-11 14:09:54 · 190 阅读 · 0 评论 -
2.2缩进
缩进是python的灵魂,缩进的严格要求使得python的代码显得非常精简并且有层次。但是在python里对待代码的缩进要十分小心,应为如果没有正确的使用缩进,代码所做的事情会与你预想的结果相差甚远(就像在C语言里括号打错了位置)。如果在正确的位置输入冒号(:),IDLE会在下一行自动缩进,正如2.1中的代码,if和else后面加上冒号(:),然后回车,第二行代码会自动进行缩进。if 条件下有原创 2018-01-11 15:56:52 · 213 阅读 · 0 评论 -
2.3BIF
BIF就是Built-in Functions,内函数的意思。什么是内置函数?为了方便程序员快速编写脚本程序(脚本就是要代码编写速度快快快!)python提供了非常丰富的内置函数,只需要直接调用即可。例如: prin内容t()是一个内置函数,它的功能是“打印到屏幕”,就是说把括号里的内容显示到屏幕上。input()也是一个BIF,它的作用是接受用户输入并将其返回,在2.1的代码中,用te原创 2018-01-11 16:15:51 · 216 阅读 · 0 评论 -
3.1变量
当你把一个值赋值给一个名字时,它会存储在内存中,把这块内存称为变量(variable)。在大多数语言中,都把这种i行为称为“给变量赋值”或“把值存储在变量中”。不过,python与大多数其他计算机语言的做法稍有不同,它并不是把值存在变量中,而更像是把名字 “贴”在值的边上 。所以有些python程序员会说python没有变量,只有名字。变量就是一个名字,通过这个名字可以找到我们想到的东西。原创 2018-01-11 16:54:26 · 196 阅读 · 0 评论 -
3.2字符串
到目前为止,我们所认知的字符串就是说引号内的一切东西,我们也把字符串叫作文本,文本和数字是截然不同的。如果直接让两个数字相加,那么python会直接将数字相加后的结果告诉你:>>>5 + 813但如果在数字两边加上引号,,就变成了字符串的拼接,这正是引号带来的差别:>>>"5" + "8"'58' 要告诉python你在创建一个字符串,就要在字符串两边 加上引号,可以是单引号也原创 2018-01-11 20:08:31 · 161 阅读 · 0 评论 -
3.3原始字符串
听起来好像反斜杠是一个好东西,但不妨试试打印C:\now:>>> string = 'C:\now'>>> string'C:\now'>>> print(string)C:ow>>> 打印结果并不是我们预期的,原因是反斜杠(\)和后边的字符(n)恰好构成了换行符(\n)。这时有朋友会说:“用反斜杠来转义反斜杠不就可以了吗?”不错,可以这样来做:>>> string = 'C:原创 2018-01-14 11:41:35 · 276 阅读 · 0 评论 -
3.4长字符串
如果字符串行数很多,可以使用三重引号字符串("""内容"""):>>> print("""从明天起,做一个幸福的人喂马、劈柴,周游世界从明天起,关心粮食和蔬菜我有一所房子,面朝大海,春暖花开从明天起,和每一个亲人通信告诉他们我的幸福那幸福的闪电告诉我的我将告诉每一个人给每一条河每一座山取一个温暖的名字陌生人,我也为你祝福愿你有一个灿烂的前程愿你有情人终成眷属愿原创 2018-01-14 12:07:41 · 231 阅读 · 0 评论 -
3.5改进我们的小游戏
之前的小游戏确实太简单了,总结后需要有以下改进:(1)当用户猜错时程序应给予提示,比如告诉对方是大了还是小了。(2)每次游戏应给予对方多次机会。(3)每次运行程序,答案应该是随机的。原创 2018-01-14 12:24:38 · 162 阅读 · 0 评论 -
3.6条件分支
第一个改进要求:当用户猜错的时候,应当给予提示。比如告诉用户,输入的值是大了还是小了。程序改进后(加入答案是8):如果输入3,提示小了。如果输入9,提示大了。如果程序只是一条 命令清单的话,它会一条路走到黑,但是我们可以 把程序设计的更聪明点——可以根据不同的条件执行不同的任务,这就是条件分支。 if 条件 : 条件为真(true)执行操作原创 2018-01-14 15:14:48 · 228 阅读 · 0 评论 -
DES加解密算法的python实现——文本读取与写入、中文加解密
DES加解密算法的python实现——文本读取与写入、中文加解密实现效果如下:实验前,1.txt内容如下,2.txt和3.txt均为空试验后2.txt和3.txt内容如下:实现代码如下:#将字符转换为对应的Unicode码,中文用2个字节表示def char2unicode_ascii(intext,length): outtext=[] f...原创 2019-04-27 10:29:16 · 2623 阅读 · 0 评论