python入门之逻辑判断
目录
一、判断(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入门之逻辑判断相关推荐
- 圆方圆python入门:如何学习(二)
) 一.编程开发规范 作为一门开发语言,python自然也有自己的编程规范,以下是特有且必须遵循的规范: 代码开头 python中代码必须顶格编写,除非被作为语句嵌套在条件判断或条件循环中. 代码层级 ...
- python入门之运算符的使用的答案_python入门教程之基本算术运算符
一.算术运算符 运算符 + - * / % **(幂)求次方 //(取整除,向下取整)如:9//2 =4 二.比较运算符 运算符 == != <>(不等于,类似!=) < > ...
- 《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑
学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 推荐 1.<备受好 ...
- Python笔记(3) Python入门
Python笔记(3) Python入门 1. 导入模块 2. 缩进 3. 注释 4. 多行语句 5. Print 输出 6. 等待用户输入 1. 导入模块 模块实际上就是 以.py为结尾的文件 但自 ...
- 《零基础掌握 Python 入门到实战》笔记
Python 零基础掌握 Python 入门到实战笔记 文章目录 Python 内置对象类型 基本交互语句 常用内置函数 整数与浮点数 基本数学运算 高级数学运算 字符串 序列 索引 切片 成员函数 ...
- python编程自学_Python编程自学:一小时python入门教程
python好学吗?python入门要多久?python编程自学行吗?做为没有python编程基础的初学者肯定有各种各样的疑问!以下为python学习网整理的一位台湾小姐姐写的"一小时pyt ...
- 试看5分钟视频python_不会Python吗?几分钟看完资深程序员给你的Python入门指南...
python作为目前一门非常火爆的编程语言,其强大的功能吸引了众多学习者.但是针对那些没有任何编程经验,从零开始学习 Python 的同学.究竟怎么入门成了大家关心的问题,虽然网络上有众多python ...
- 大数据技术之_23_Python核心基础学习_01_计算机基础知识 + Python 入门 (9.5小时)
大数据技术之_23_Python核心基础学习_01 第一章 计算机基础知识 1.1 课程介绍 1.2 计算机是什么 1.3 计算机的组成 1.4 计算机的使用方式 1.5 windows 的命令行 1 ...
- 大数据技术之_23_Python核心基础学习_01_计算机基础知识 + Python 入门 (9.5小时)...
第一章 计算机基础知识1.1 课程介绍1.2 计算机是什么1.3 计算机的组成1.4 计算机的使用方式1.5 windows 的命令行1.6 环境变量(environment variable)1.7 ...
最新文章
- QIIME 2用户文档. 4人体各部位微生物组分析实战Moving Pictures(2018.11)
- 如何找到文件的家-打开文件对话框openFileDialog
- dp --- acdream原创群赛(16) --- B - Apple
- mysql有imp命令吗_快速MySQL Imp
- oracle 建分区索引_Oracle分区表及分区索引-创建list分区
- OpenResty 安装,收集日志保存到文本文件
- 聊天机器人最难理解的 10 个词汇
- android content provider线程安全,Android ContentProvider的线程安全(二)
- 楼天成 中国大学生编程第一人
- Ubuntu 18.04 安装 RoboWare
- python实现科赫雪花的绘制(最简单)
- 评《宁可放弃五十万也要逼你去读书》,作者来自另外一个星球?
- 华三防火墙添加web用户_h3c防火墙用户名密码怎么样设置
- 华新集团再冲刺港交所上市:上半年收入2.6亿元,张德红为董事长
- 传祺GA3自动至尊版 “小巨人”的首检
- 如何防止form表单的重复提交
- NATPort ForwardingPort Triggering
- 卷积神经网络(CNN)详细介绍及其原理详解
- 准确率和召回率(precisionrecall)
- C++学习15:C++模板的参数
热门文章
- 什么是量比(急跌无量是恐吓,缓跌放量赶紧撤)
- 副本技能-exe4j将可运行Jar包转换为exe程序
- php通过smtp 邮箱,php通过SMTP第三方邮箱发送邮件
- 美丽的白云山白云山自古以来就是广州有名的景点
- 抖音申诉怎么写能通过?鹰迪电商
- 分布式数据库ACID特性
- 用计算机弹绿色歌词的词语,歌词显示工具(Lyrify)
- 2022年中国制造业数字化转型研究报告
- 前后端分离重复提交_防止表单重复提交(二)
- Acwing语法基础课第八次课(2)756. 蛇形矩阵748. 数组的右下半部分754. 平方矩阵 II752. 数组的右方区域 746. 数组的左下半部分750. 数组的下方区域