每天 3 分钟,小闫带你学 Python(七)

论坛 期权论坛 期权     
小闫笔记   2019-7-27 14:31   4120   0
正文共:4598 字 6 图
预计阅读时间:12分钟


[h1]每日分享[/h1]1.物来顺应
2.未来不迎
3.当事不杂
4.季过不恋
今天暂时不分享英文名言,因为昨天晚上看到4句话,特别想分享给大家。第一句『物来顺应』告诫我们事情已经发生了,就要顺应去面对;第二句『未来不迎』劝告我们不要为没有发生的事情而焦虑;第三句『当事不杂』告诉我们专注于做好当前的事情;第四句『季过不恋』指明已经过去的事情,无论是好是坏,都不必去留恋。
来源于曾国藩的语句解读


[h1]前言[/h1]

昨天好朋友『小鱼干』告诉我这一系列的文章最好加上数字标明,好让读者了解学习顺序。这一点确实是我的疏忽,知错就改,善莫大焉。同时感谢『小鱼干』的付出 ~
昨天的文章『每天 3 分钟,小闫带你学 Python』讲解了输入、运算符号以及数据类型的转换。今天开始进入有难度的一节,那便是判断语句。开始咯 ~
[h1]1.判断语句[/h1][h2]1.1 场景带入[/h2]大家肯定都去过一个地方,那便是网吧。网吧有一个规定,大家应该熟悉,未成年人不得入内。怎么判断呢?可以查验你的身份证,如果小于18岁,那么不可以让你上网。
另一个场景,在超市内,只有你付过款,才可以将物品带出超市。判断便是:如果你支付了该物品的钱,那么你可以将物品带出超市。
还有超多的例子,像这样『如果 ... 那么 ...』的句子我们称之为判断语句。即当条件满足时执行,不满足则禁止执行。在编程的世界里,其实也充满了这样的场景。
[h2]1.2 if 语句[/h2]我们早就知道 Python 语言简单易读,那么如何体现呢?容我慢慢道来。
  1. 如果
复制代码
的英文是什么?张口就来
  1. if
复制代码
义夫 ~
Python 里面还真是利用
  1. if
复制代码
进行判断的。先看一下一般格式:
    1. if 判断的条件:
    复制代码
    1.     条件成立后要执行的内容
    复制代码
拿一开始进网吧的场景来举例:
    1. age = 21
    复制代码
    1. if age >= 18:
    复制代码
    1.     print("恭喜你,可以上网!")
    复制代码
我们可以看到输出结果为:
    1. 恭喜你,可以上网!
    复制代码
再以超市的场景举例:
flag 代表标记,1表示付过款,0表示没有付过款。编程中经常使用这样的标记来表述是或则否。
    1. flag = 1
    复制代码
    1. if flag == 1:
    复制代码
    1.     print("购物愉快,欢迎下次光临")
    复制代码
输出为:
    1. 购物愉快,欢迎下次光临
    复制代码
再看一种情况:条件不满足
    1. age = 16
    复制代码
    1. if age >= 18:
    复制代码
    1.     print("恭喜你,可以上网!")
    复制代码
    1. print("小屁孩,回去写作业~")
    复制代码
输出结果为:
    1. 小屁孩,回去写作业~
    复制代码
因为 age 为16,不满足判断条件,所以 if 代码块里面的内容没有执行,而是向下顺序执行。
此处说明一下,Python 的程序在启动后,会自上向下按顺序执行。Python 中是严格缩进的,即该缩进的地方必须缩进,既美观又逻辑清晰。那么什么时候该缩进呢?如何缩进呢?一个完整的处理部分,比如上面的 if 判断语句(判断条件和满足后执行内容是一个整体)组成一个代码块,整体和下面的
  1. print("小屁孩,回去写作业~")
复制代码
等级一致,可以看做执行完判断语句后执行该输出语句。如果还是不理解,可以类比Word 文档中一级标题和二级标题的区别。如果
  1. print("恭喜你,可以上网!")
复制代码
不缩进,那么它与下一个输出
  1. print("小屁孩,回去写作业~")
复制代码
等级一致。会按顺序都输出,相当于都变成了一级标题。为了让其表示在代码块内部,就用到了缩进,缩进是 4 个空格,或者键盘上的 1 个
  1. tab
复制代码
键。
[h2]1.3 比较运算符[/h2]大家看上面的程序时,也许会有疑问:
  1. >=
复制代码
可以理解为
  1. 大于等于
复制代码
,但是等于为什么是
  1. ==
复制代码
而不是
  1. =
复制代码
呢?其他的比较如何表示呢?下面为大家做了一个总结。
为了区别于赋值运算符
  1. =
复制代码
,我们将等于表示为
  1. ==
复制代码
运算符描述示例==检查两个操作数的值是否相等,如果是则条件变为真。如a=3,b=3,则(a == b) 为 True!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3,则(a != b) 为 True>检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3,则(a > b) 为 True=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3,则(a >= b) 为 True 3):[/code]
    1.     print("条件成立!")
    复制代码
    1. # 输出结果
    复制代码
    1. 条件成立!
    复制代码
    [h3]not[/h3]这个更加好理解,相当于英语中的否定前缀。一个条件不成立,如果前面加一个
    1. not
    复制代码
    可以将其转化为条件成立,即取反。
      1. # not:将右边表达式的逻辑结果取反,Ture变为False,False变为True
      复制代码
      1. if not (1 == 2):
      复制代码
      1.     print("条件成立!")
      复制代码
      1. # 输出结果
      复制代码
      1. 条件成立!
      复制代码
    [h2]1.5 if-else[/h2]先翻译一下单词,
    1. if
    复制代码
    代表如果;
    1. else
    复制代码
    代表其他。当条件成立的时候执行内容1,那么条件不成立如何执行内容2呢?那便是使用
    1. if-else
    复制代码
    。先看一下格式:
      1. if 判断条件:
      复制代码
      1.     条件成立时执行内容
      复制代码
      1. else:
      复制代码
      1.     条件不成立时执行内容
      复制代码
    再次强调,一定要注意缩进问题。之前在给学生批改作业时,经常发现缩进导致的错误,这样的问题应该避免。
    举个例子:
      1. age = 16
      复制代码
      1. if age >= 18:
      复制代码
      1.     print("恭喜你,可以上网!")
      复制代码
      1. else:
      复制代码
      1.     print("小屁孩,回去写作业~")
      复制代码
    执行结果为:
      1. 小屁孩,回去写作业~
      复制代码
    细心的同学应该已经发现,结果怎么同上面出现过的一个示例代码相同,再回顾一下:
      1. age = 16
      复制代码
      1. if age >= 18:
      复制代码
      1.     print("恭喜你,可以上网!")
      复制代码
      1. print("小屁孩,回去写作业~")
      复制代码
    没错,它们的结果是一样的。结合之前说的代码块,大家会发现使用
    1. if-else
    复制代码
    后,代码更整齐,直观,逻辑性更强。大家结合实际情况选择使用即可。
    [h2]1.6 elif[/h2]截止目前,已经可以实现,选择输出两块内容了。现在有一种情况:如果分数在 60 到 80 之间表示为好,分数在 80 到 90 之间表示为良,90 到 100 之间则表示为优。该怎么办?答案便是使用
    1. elif
    复制代码

    同样先看一下格式:
      1. if xxx1:
      复制代码
      1.     事情1
      复制代码
      1. elif xxx2:
      复制代码
      1.     事情2
      复制代码
      1. elif xxx3:
      复制代码
      1.     事情3
      复制代码
      1. ...
      复制代码
      1. else:
      复制代码
      1.     事情n
      复制代码
    有了
    1. elif
    复制代码
    之后,我们就可以进行多条件判断了。
    接下来将开始介绍的分数例子实现一下:
      1. if score >= 60 and score = 80 and score = 90 and score = 本科 and 英语 >= 四级:
      复制代码
      1.     print("恭喜你满足条件,可以投递简历")
      复制代码
    上面的形式,我们称为伪代码,即不能直接运行,但是可以表示逻辑关系。以后大家会经常见到。所以如果你按照上面的代码去 PyCharm 中运行,报错就不要怪我了。
    还可以表示为:
      1. if 学历 >= 本科:
      复制代码
      1.     if 英语 >= 四级:
      复制代码
      1.         print("恭喜你满足条件,可以投递简历")
      复制代码
    注意缩进问题。
    内层的 if 和外层的 if 都可以使用 else 和 elif 。看似复杂,我们可以将其分开理解。
    [h1]2.作业[/h1]
    今日学习目标:掌握判断条件的使用,达到不论场景如何都熟练应用。
    1.编写一个石头剪刀布的游戏。
    参考思路:将里面的对比,抽象成判断,比如石头和剪刀比较,如果你是石头且我是剪刀,那么我输了。
    参考代码:
      1. import random
      复制代码

      1. player = input('请输入:剪刀(0)  石头(1)  布(2):')
      复制代码
      1. player = int(player)
      复制代码

      1. # 产生随机整数:0、1、2 中的某一个
      复制代码
      1. computer = random.randint(0,2)
      复制代码

      1. # 用来进行测试
      复制代码
      1. #print('player=%d,computer=%d',(player,computer))
      复制代码

      1. if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
      复制代码
      1.     print('获胜,哈哈,你太厉害了')
      复制代码
      1. elif player == computer:
      复制代码
      1.     print('平局,要不再来一局')
      复制代码
      1. else:
      复制代码
      1.     print('输了,不要走,洗洗手接着来,决战到天亮')
      复制代码
    1. importrandom
    复制代码
    是导入模块
    1. random
    复制代码
    ,后面会进行讲解。此处理解为我们需要用到一个工具,这个工具在工具箱
    1. random
    复制代码
    中。我们先导入,然后就可以使用了。
    1. random.randint(0,2)
    复制代码
    代表我们使用工具箱
    1. random
    复制代码
    中的
    1. randint()
    复制代码
    这个工具(函数)。使用这个工具,我们先设置一下
    1. randint(0,2)
    复制代码
    ,它的功能是产生随机整数:0、1、2 中的某一个。
    其余的知识前面都有讲解到,大家可以自己写一下,也可以先理解参考代码。






    优质文章推荐:
    redis操作命令总结
    MySQL相关操作
    SQL查询语句
    前端中那些让你头疼的英文单词
    Flask框架重点知识总结回顾
    团队开发注意事项
    浅谈密码加密
    Django框架中的英文单词
    Django中数据库的相关操作
    DRF框架中的英文单词
    DRF框架
    Django相关知识点回顾
    python技术面试题-腾讯


  • 分享到 :
    0 人收藏
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    积分:10
    帖子:2
    精华:0
    期权论坛 期权论坛
    发布
    内容

    下载期权论坛手机APP