首页 / PYTHON / Python基本语法二
Python基本语法二
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python基本语法二,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9605字,纯文字阅读大概需要14分钟。
内容图文
一.运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算
算数运算
以下假设变量:a=10,b=20
比较运算
以下假设变量:a=10,b=20
赋值运算
逻辑运算
二.流程控制之if...else
假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。
基本上在各个语言中,都是用语法if…else…来实现,可分为单分支、双分支、多分支
单分支
if 条件: 满足条件后要执行的代码
双分支
if 条件: 满足条件执行代码 else: if条件不满足就走这段
AgeOfOldboy = 48 if AgeOfOldboy > 50 : print("Too old, time to retire..") else: print("还能折腾几年!")
缩进
这里必须要插入这个缩进的知识点
你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?
在其它的语言里,大多通过{}
来确定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript代码的例子
var age = 56 if ( age < 50){ console.log("还能折腾") console.log('可以执行多行代码') }else{ console.log('太老了') }
在有{}
来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。
Python是门超级简洁的语言,发明者定是觉得用{}
太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。
Python的缩进有以下几个原则:
- 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。
多分支
回到流程控制上来,if…else …可以有多个分支条件
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
写个猜年龄的游戏吧
age_of_oldboy = 48 guess = int(input(">>:")) if guess > age_of_oldboy : print("猜的太大了,往小里试试...") elif guess < age_of_oldboy : print("猜的太小了,往大里试试...") else: print("恭喜你,猜对了...")
此时让学生自己也默写一遍这段代码
再来个匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下
A 90-100 B 80-89 C 60-79 D 40-59 E 0-39
要求用户输入0-100的数字后,你能正确打印他的对应成绩
score = int(input("输入分数:")) if score > 100: print("我擦,最高分才100...") elif score >= 90: print("A") elif score >= 80: print("B") elif score >= 60: print("C") elif score >= 40: print("D") else: print("太笨了...E")
这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80
呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!
三.流程控制之while循环
上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。
age_of_oldboy = 48 guess = int(input(">>:")) if guess > age_of_oldboy : print("猜的太大了,往小里试试...") elif guess < age_of_oldboy : print("猜的太小了,往大里试试...") else: print("恭喜你,猜对了...") #第2次 guess = int(input(">>:")) if guess > age_of_oldboy : print("猜的太大了,往小里试试...") elif guess < age_of_oldboy : print("猜的太小了,往大里试试...") else: print("恭喜你,猜对了...") #第3次 guess = int(input(">>:")) if guess > age_of_oldboy : print("猜的太大了,往小里试试...") elif guess < age_of_oldboy : print("猜的太小了,往大里试试...") else: print("恭喜你,猜对了...")
即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。
那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦
语法
while 条件: 执行代码...
简单吧, while
就是当的意思,当山峰没有棱角的时候,当河水。。。,sorry , while
指 当其后面的条件 成立 ,就执行while
下面的代码
写个让程序从0打印到100的程序 ,每循环一次,+1
count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码 print("loop ", count ) count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
输出
loop 0 loop 1 loop 2 loop 3 .... loop 98 loop 99 loop 100
如果我想实现打印1到100的偶数怎么办呢?
那就得先搞清,怎么判断一个数字是偶数,能被2整除的就是偶数对不对, 怎么判断能否被2整除?简单,除完2没有余数就是啦。记得我们学的取模算运算符么?
>>> 10%2 0 >>> 8%2 #无余数,是偶数 0 >>> 7%2 #有余数,是奇数 1
放到我们的循环程序里
count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码 if count % 2 == 0: #是偶数 print("loop ", count) count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
输出
loop 0 loop 2 loop 4 loop 6 .... loop 96 loop 98 loop 100
死循环
有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。
while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?
count = 0 while True: #True本身就是真呀 print("你是风儿我是沙,缠缠绵绵到天涯...",count) count +=1
循环中止语句
如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
例子:break
count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码 print("loop ", count) if count == 5: break count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0 print("-----out of while loop ------")
输出
loop 0 loop 1 loop 2 loop 3 loop 4 loop 5 -----out of while loop ------
例子:continue
count = 0 while count <= 100 : count += 1 if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop continue print("loop ", count) print("-----out of while loop ------")
输出
loop 1 loop 2 loop 3 loop 4 loop 5 loop 95 loop 96 loop 97 loop 98 loop 99 loop 100 loop 101 -----out of while loop ------
while … else ..
与其它语言else 一般只与if 搭配不同,在Python 中还有个while …else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循环正常执行完啦 -----out of while loop ------
如果执行过程中被break啦,就不会执行else的语句啦
count = 0 while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------")
输出
Loop 1 Loop 2 -----out of while loop ------
练习1:猜年龄游戏 (10分钟)
要求:
- 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
练习2:猜年龄游戏升级版 (20分钟)
要求:
- 允许用户最多尝试3次
- 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
- 如何猜对了,就直接退出
本章补充:
身份运算
python 中有很多种数据类型, 查看一个数据的类型的方法是type().
>>> name="小猿圈" >>> age = 1 >>> >>> name '小猿圈' >>> >>> type(name),type(age) (, )
判断一个数据类型是不是str, or int等,可以用身份运算符is
>>> type(name) is str True >>> >>> type(name) is not int True
空值None
代表什么都没有的意思,一般用在哪呢? 比如玩游戏,你要初始化一个女朋友, 需要填上姓名、年龄、身高、体重等信息, 这些信息是让玩家填的,在填之前,你要先把变量定义好,那就得存个值 ,这个值用0,1来占位不合适 ,用True,False也不合适 ,用None最合适
>>> name=None >>> age=None >>> height=None >>> weight=None >>> >>> name,age,height,weight (None, None, None, None) >>>
此时可用is 运算符来判断变量是不是None
>>> if name is None: ... print("你的女朋友还没起名字呢.") ... 你的女朋友还没起名字呢.
其实用==判断也行,但是不符合开发规范
>>> name == None True
三元运算
显得很NB的代码写法.可以提升代码的B格
name = "Eva" sex = None # 普通写法 if name == "Eva": sex = "Female" else: sex = "Male" # 用三元运算来写 sex = "Female" if name == "Eva" else "Male"
到这里本小章的基础语法算是学的差不多了,是时候检测自己究竟学习了多少,动动脑袋写写本小章的作业吧:
1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
2.Pyhton 单行注释和多行注释分别用什么?
3.布尔值分别有什么,及作用是什么?
4.声明变量注意事项有那些?
5.如何查看变量在内存中的地址?
6.请写出 and 、or、not 的作用,并用代码来演示
7.查看2、2.22、“小猿圈”分别是什么数据类型的语法是什么?
8.写代码
i.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
ii.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
iii.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
9.写代码
a. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
b. 使用while 循环输出100-50,从大到小,如100,99,98…,到50时再从0循环输出到50,然后结束
c. 使用 while 循环实现输出 1-100 内的所有奇数
d. 使用 while 循环实现输出 1-100 内的所有偶数
e. 使用while循环实现输出2-3+4-5+6…+100 的和
10.现有如下两个变量,请根据执行结果解释原因
n1 = 123456 n2 = n1 n1 = 333 print(n1,n2)
11.制作趣味模板程序(编程题)
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx
12.输入一年份,判断该年份是否是闰年并输出结果。(编程题)
注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
13.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)
14.使用while,完成以下图形的输出
* * * * * * * * * * * * * * * * * * * * * * * * *
15.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
附加题:双色球彩票 选购程序
1先让用户依次选择6个红球,再选择2个蓝球,最后统一打印用户选择的球号。
2确保用户不能选择重复的,选择的数不能超出范围。
要达到的结果参考
内容总结
以上是互联网集市为您收集整理的Python基本语法二全部内容,希望文章能够帮你解决Python基本语法二所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。