目录

一、判断(if)语句

二、逻辑运算

三、if语句进阶

四、综合应用--石头剪刀布

五、循环

一、判断(if)语句

1.判断语句演练--判断年龄

"""
需求
1.定义一个整数变量记录年龄
2.判断是否满18岁(>=)
3.如果满18岁,允许进网吧嗨皮
"""#1.定义年龄变量
age = 18#2.判断是否满18岁
# if 语句以及缩进部分的代码是一个完整的代码块
if age >= 18:#3.如果满了18岁,可以进网吧嗨皮print("可以进入网吧嗨皮")#3.思考!- 无论条件是否满足都会执行
print ("这句代码什么时候执行?")

2.运算符

比较(关系)运算符

3.else处理条件不满足的情况

如果需要在不满足条件的时候,做某些事情,可以使用else处理条件不满足的情况

if 要判断的条件:条件成立时,要做的事情......
else:条件不成立时,要做的事情......

注意:if 和 else 语句以及各自的缩进部分共同是一个完整的代码块

4.判断语句演练--判断年龄改进

"""
需求:
1.输入用户年龄
2.判断是否满18岁(>=)
3.如果满18岁,允许进网吧嗨皮
4.如果未满18岁,提示回家写作业
"""# 1.输入用户年龄
age = int(input("今年多大了?"))# 2.判断是否满18岁
if age >= 18:print("可以进网吧嗨皮")
else:print("你还没长大,应该回家写作业!")

二、逻辑运算

在程序开发中,通常在判断条件时,会需要同时判断多个条件,只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符。

逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件。

python中的逻辑运算符包括:与and/或or/非not三种。

1.and

条件1 and 条件2

与/并且,两个条件同时满足,返回True,只要有一个不满足,就返回False。

逻辑运算演练:

"""
练习1:定义一个整数变量age,编写代码判断年龄是否正确
要求人的年龄在0-120之间
"""age = int(input("请输入年龄:"))if age >= 0 and age <= 120:print("年龄正确")
else:print("年龄不正确")
"""
练习2:定义两个整数变量python_score、c_score,编写代码判断成绩
要求只要有一门成绩>60分就算合格
"""python_score = int(input("请输入python成绩:"))
c_score = int(input("请输入c成绩:"))if python_score > 60 or c_score > 60:print("考试通过")
else:print("考试失败,继续努力")
"""
练习3:定义一个布尔型变量is_employee,编写代码判断是否是本公司员工
如果不是提示不允许入内
"""
#注意:python将非空字符串解读为True,故该程序只有输入回车时返回Falseis_employee = bool(input("请输入你的证明:"))#如果不是提示不允许入内
if not is_employee:print("非本公司人员,请勿入内")

三、if语句进阶

1.elif

在开发中,使用if可以判断条件,使用else可以处理条件不成立的情况,但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用elif。

语法格式如下:

if 条件1:条件1满足执行的代码……
elif 条件2:条件2满足时,执行的代码……
elif 条件3:条件3满足时,执行的代码……
else:以上条件都不满足时,执行的代码……

对比逻辑运算符的代码

if 条件1 and 条件2:条件1满足 并且 条件2满足 执行的代码……

注意:elif和else都必须和if联合使用,而不能单独使用;可以将if、elif和else以及各自缩进的代码,看成一个完整的代码块。

"""
需求:
1.定义holiday_name字符串变量记录节日名称
2.如果是情人节应该买玫瑰/看电影
3.如果是平安夜应该买苹果/吃大餐
4.如果是生日应该买蛋糕
5.其他的日子每天都是节日啊......
"""holiday_name = input("今天是什么节日?")if holiday_name == "情人节":print("买玫瑰")print("看电影")
elif holiday_name == "平安夜":print("买苹果")print("吃大餐")
elif holiday_name == "生日":print("买蛋糕")
else:print("每天都是节日啊......")

2.if的嵌套

elif的应用场景是:同时判断多个条件,所有的条件是平级的。

在开发中,使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if的嵌套。

if的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断。

if的嵌套的语法格式,除了缩进之外和之前的没有区别。

语法格式如下:


if 条件 1:条件 1 满足执行的代码……if 条件 1 基础上的条件 2:条件 2 满足时,执行的代码……    # 条件 2 不满足的处理else:条件 2 不满足时,执行的代码# 条件 1 不满足的处理
else:条件1 不满足时,执行的代码……

2.1 if的嵌套演练--火车站安检

"""
需求:
1.定义布尔型变量has_ticket表示有车票
2.定义整型变量knife_length表示刀的长度,单位:厘米
3.首先检查是否有车票,如果有,才允许进行安检
4.安检时,需要检查刀的长度,判断是否超过20厘米如果超过20厘米,提示刀的长度,不允许上车如果不超过20厘米,安检通过
5.如果没有车票,不允许进门
"""# 定义布尔型变量 has_ticket 表示是否有车票
has_ticket = True
​
# 定义整数型变量 knife_length 表示刀的长度,单位:厘米
knife_length = 20
​
# 首先检查是否有车票,如果有,才允许进行 安检
if has_ticket:print("有车票,可以开始安检...")
​# 安检时,需要检查刀的长度,判断是否超过 20 厘米# 如果超过 20 厘米,提示刀的长度,不允许上车if knife_length >= 20:print("不允许携带 %d 厘米长的刀上车" % knife_length)# 如果不超过 20 厘米,安检通过else:print("安检通过,祝您旅途愉快……")
​
# 如果没有车票,不允许进门
else:print("大哥,您要先买票啊")

四、综合应用--石头剪刀布

目标:1.强化多个条件的逻辑运算;2.体会import导入模块(“工具包”)的使用

1.石头剪刀布-简易版

"""
需求:
1.从控制台输入要出的拳--石头(1)/剪刀(2)/布(3)
2.先假定电脑只会出石头,完成整体代码功能
3.比较胜负
"""# 从控制台输入要出的拳-石头(1)/剪刀(2)/布(3)
player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3):"))# 电脑 随机 出拳 - 先假定电脑只会出石头,完成整体代码功能
computer = 1print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player,computer))# 玩家胜
if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or(player == 3 and computer == 1)):print("欧耶,电脑弱爆了!")
# 平局
elif player == computer:print("真是心有灵犀啊,再来一盘")
# 电脑胜
else:print("不服气,我们决战到天明!")

2.石头剪刀布-升级版(随机数)

在pthon中,要使用随机数,首先需要导入随机数的模块--“工具包”

import random

导入模块后,可以直接在模块名称后面敲一个.然后按Tab键,会提示该模块中包含的所有函数

random.randint(a,b),返回[a,b]之间的整数,包含a和b

例如:

import random
random.randint(12,20) #生成的随机数n:12 <= n <= 20
random.randint(20,20) #结果永远是20
random.randint(20,10) #该语句是错误的,下限必须小于上限
"""
需求:
1.从控制台输入要出的拳--石头(1)/剪刀(2)/布(3)
2.电脑随机出拳,完成整体代码功能
3.比较胜负
"""# 导入随机工具包
# 注意:在导入工具包的时候,应该将导入的语句,放在文件的顶部
# 因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具
import random# 从控制台输入要出的拳-石头(1)/剪刀(2)/布(3)
player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3):"))# 电脑 随机 出拳 - 先假定电脑只会出石头,完成整体代码功能
computer = random.randint(1,3)print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player,computer))# 玩家胜
if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or(player == 3 and computer == 1)):print("欧耶,电脑弱爆了!")
# 平局
elif player == computer:print("真是心有灵犀啊,再来一盘")
# 电脑胜
else:print("不服气,我们决战到天明!")

五、循环

1.程序的三大流程

在程序开发中,一共有三种流程方式:

顺序--从上到下,顺序执行代码

分支--根据条件判断,决定执行代码的分支

循环--让特定代码重复执行

2.while 循环基本使用

循环的作用就是让指定的代码重复的执行

while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

2.1 while语句基本语法

初始条件设置-通常是重复执行的计数器while 条件(判断 计数器 是否达到 目标次数):条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...处理条件(计数器 + 1)

注意:

while语句以及缩进部分是一个完整的代码块

第一个while循环

"""
需求:
打印5遍Hello Python
"""# 1.定义重复次数计数器
i = 0# 2.使用while判断条件
while i < 5:# 要重复执行的代码print("Hello Python")# 处理计算器 ii = i + 1print("循环结束后的 i = %d" % i)

注意:循环结束后,之前定义的计数器条件的数值是依旧存在的

死循环

由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止!

2.2 赋值运算符

在python中,使用=可以给变量赋值

在算术运算时,为了简化代码的编写,python还提供了一系列的与算术运算符对应的赋值运算符

注意:赋值运算符中间不能使用空格

2.3 python中的计数方法

常见的计数方法有两种,可以分别称为:

自然计数法(从1开始)--更符合人类的习惯

程序计数法(从0开始)--几乎所有的程序语言都选择从0开始计数

2.4 循环计算

在程序开发中,通常会遇到利用循环重复计算的需求

遇到这种需求,可以:

1.在while上方定义一个变量,用于存放最终计算

2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量

# 需求:
# 计算0~100之间所有数字的累计求和结果
# 0.定义最终结果的变量
result = 0# 1.定义一个整数的变量记录循环的次数
i = 0# 2.开始循环
while i <= 100:# 每一次循环,都让result这个变量和i这个计数器相加result += i# 处理计数器i += 1print("0~100之间的数字求和结果:%d" % result)
# 需求进阶
# 计算0~100之间所有偶数的累计求和结果"""
开发步骤:
1.编写循环确认要计算的数字
2.添加结果变量,在循环内部处理计算结果
"""# 0.最终结果
result = 0# 1.计数器
i = 0# 2.开始循环
while i <= 100:# 判断计数器是否为偶数if i % 2 == 0:# i是偶数时,都让result这个变量和i这个计数器相加result += i# 处理计数器i += 1print("0~100之间的偶数求和结果:%d" % result)

3.break和continue

break和continue是专门在循环中使用的关键字

break某一条件满足时,退出循环,不再执行后续重复的代码

continue某一条件满足时,不执行后续重复的代码

break和continue只针对当前所在循环有效

i = 0while i < 10:if i == 3:breakprint(i)i += 1print("over")
i = 0while i < 10:if i == 3:# 在使用关键字之前,需要确认循环的计数是否修改,否则可能会导致死循环i += 1continueprint(i)i += 1

 4.while循环嵌套

4.1 循环嵌套

while嵌套就是:while里面还有while

while 条件 1:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3......while 条件 2:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3......处理条件 2处理条件 1

4.2 循环嵌套演练--九九乘法表

第1步:用嵌套打印小星星

# 在控制台连续输出五行*,每一行星号的数量依次递增
# *
# **
# ***
# ****
# *****# 1.定义一个计数器变量,从数字1开始
row = 1# 2.开始循环
while row <= 5:print("*" * row)row += 1

第2步:使用循环嵌套打印小星星

在默认情况下,print函数输出内容之后,会自动在内容末尾增加换行

如果不希望末尾增加换行,可以在print函数输出内容的后面增加,end=""

其中""中间可以指定print函数输出内容之后,继续希望显示的内容

语法格式如下:

# 向控制台输出内容结束之后,不会换行
print("*", end="")# 单纯的换行
print("")

end=""表示向控制台输出内容结束之后,不会换行

# 假设python没有提供字符串的*操作(乘法操作)拼接字符串
# 需求:在控制台连续输出五行*,每一行星号的数量依次递增
# *
# **
# ***
# ****
# *****row = 1while row <= 5:# 假设python没有提供字符串*操作# 在循环内部,再增加一个循环,实现每一行的星星打印col = 1while col <= row:print("*",end="")col += 1# 每一行星号输出完成后,再增加一个换行print("")row += 1

第三步:九九乘法表

# 需求:输出九九乘法表
"""
1.打印9行小星星
2.将星星替换成每个乘法算式
"""row = 1
while row <= 9:col = 1while col <= row:# print("*", end="")print("%d * %d = %2d "% (col,row,col * row), end=" ")col += 1print("")row += 1

字符串中的转义字符

\t  在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐

\n 在控制台输出一个换行符

制表符的功能实在不使用表格的情况下在垂直方向按列对齐文本

# \t  在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐row = 1
while row <= 9:col = 1while col <= row:# print("*", end="")print("%d * %d = %d "% (col,row,col * row), end="\t")col += 1print("")row += 1

python入门之逻辑判断相关推荐

  1. 圆方圆python入门:如何学习(二)

    ) 一.编程开发规范 作为一门开发语言,python自然也有自己的编程规范,以下是特有且必须遵循的规范: 代码开头 python中代码必须顶格编写,除非被作为语句嵌套在条件判断或条件循环中. 代码层级 ...

  2. python入门之运算符的使用的答案_python入门教程之基本算术运算符

    一.算术运算符 运算符 + - * / % **(幂)求次方 //(取整除,向下取整)如:9//2 =4 二.比较运算符 运算符 == != <>(不等于,类似!=) < > ...

  3. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑

    学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 推荐 1.<备受好 ...

  4. Python笔记(3) Python入门

    Python笔记(3) Python入门 1. 导入模块 2. 缩进 3. 注释 4. 多行语句 5. Print 输出 6. 等待用户输入 1. 导入模块 模块实际上就是 以.py为结尾的文件 但自 ...

  5. 《零基础掌握 Python 入门到实战》笔记

    Python 零基础掌握 Python 入门到实战笔记 文章目录 Python 内置对象类型 基本交互语句 常用内置函数 整数与浮点数 基本数学运算 高级数学运算 字符串 序列 索引 切片 成员函数 ...

  6. python编程自学_Python编程自学:一小时python入门教程

    python好学吗?python入门要多久?python编程自学行吗?做为没有python编程基础的初学者肯定有各种各样的疑问!以下为python学习网整理的一位台湾小姐姐写的"一小时pyt ...

  7. 试看5分钟视频python_不会Python吗?几分钟看完资深程序员给你的Python入门指南...

    python作为目前一门非常火爆的编程语言,其强大的功能吸引了众多学习者.但是针对那些没有任何编程经验,从零开始学习 Python 的同学.究竟怎么入门成了大家关心的问题,虽然网络上有众多python ...

  8. 大数据技术之_23_Python核心基础学习_01_计算机基础知识 + Python 入门 (9.5小时)

    大数据技术之_23_Python核心基础学习_01 第一章 计算机基础知识 1.1 课程介绍 1.2 计算机是什么 1.3 计算机的组成 1.4 计算机的使用方式 1.5 windows 的命令行 1 ...

  9. 大数据技术之_23_Python核心基础学习_01_计算机基础知识 + Python 入门 (9.5小时)...

    第一章 计算机基础知识1.1 课程介绍1.2 计算机是什么1.3 计算机的组成1.4 计算机的使用方式1.5 windows 的命令行1.6 环境变量(environment variable)1.7 ...

最新文章

  1. QIIME 2用户文档. 4人体各部位微生物组分析实战Moving Pictures(2018.11)
  2. 如何找到文件的家-打开文件对话框openFileDialog
  3. dp --- acdream原创群赛(16) --- B - Apple
  4. mysql有imp命令吗_快速MySQL Imp
  5. oracle 建分区索引_Oracle分区表及分区索引-创建list分区
  6. OpenResty 安装,收集日志保存到文本文件
  7. 聊天机器人最难理解的 10 个词汇
  8. android content provider线程安全,Android ContentProvider的线程安全(二)
  9. 楼天成 中国大学生编程第一人
  10. Ubuntu 18.04 安装 RoboWare
  11. python实现科赫雪花的绘制(最简单)
  12. 评《宁可放弃五十万也要逼你去读书》,作者来自另外一个星球?
  13. 华三防火墙添加web用户_h3c防火墙用户名密码怎么样设置
  14. 华新集团再冲刺港交所上市:上半年收入2.6亿元,张德红为董事长
  15. 传祺GA3自动至尊版 “小巨人”的首检
  16. 如何防止form表单的重复提交
  17. NATPort ForwardingPort Triggering
  18. 卷积神经网络(CNN)详细介绍及其原理详解
  19. 准确率和召回率(precisionrecall)
  20. C++学习15:C++模板的参数

热门文章

  1. 什么是量比(急跌无量是恐吓,缓跌放量赶紧撤)
  2. 副本技能-exe4j将可运行Jar包转换为exe程序
  3. php通过smtp 邮箱,php通过SMTP第三方邮箱发送邮件
  4. 美丽的白云山白云山自古以来就是广州有名的景点
  5. 抖音申诉怎么写能通过?鹰迪电商
  6. 分布式数据库ACID特性
  7. 用计算机弹绿色歌词的词语,歌词显示工具(Lyrify)
  8. 2022年中国制造业数字化转型研究报告
  9. 前后端分离重复提交_防止表单重复提交(二)
  10. Acwing语法基础课第八次课(2)756. 蛇形矩阵748. 数组的右下半部分754. 平方矩阵 II752. 数组的右方区域 746. 数组的左下半部分750. 数组的下方区域