Python15_布尔值_break_continue_pass_else

2023-05-16

布尔值

用数据做判断:布尔值

计算机利用数据有三种方式:1.直接使用数据,2.计算和加工数据,3.用数据做判断

【布尔值】True和False

代码将会无限运行,陷入【死循环】,你需要在键盘上按几次【ctrl+c】来强制结束运行

【布尔运算】的三种方式

两个数值做比较

  • >
  • <
  • ==
  • !=
  • <=
  • >=

直接用数值做运算

None,它代表的是【空值】,自成一派,数据类型是NoneType。要注意它和0的区别,0是整数0,可并非什么都没有

bool()函数:查看一个数据会被判断为真还是假

print('以下数据判断结果都是【假】:')
print(bool(False))
print(bool(0))
print(bool(''))
print(bool(None))

print('以下数据判断结果都是【真】:')
print(bool(True))
print(bool(1))
print(bool('abc'))

'''
以下数据判断结果都是【假】:
False
False
False
False
以下数据判断结果都是【真】:
True
True
True
'''

 

布尔值之间的运算

and、or、not、in、not in五种运算

  • and且
  • or或
  • not非
  • in判断一个元素是否在一堆数据之中
  • not in判断一个元素是否不在一堆数据之中”
a = 1
b = -1
print('以下是and运算')
if a==1 and b==1:    # 【b实际上是-1】
    print('True')
else:
    print('False')

print('以下是or运算')
if a==1 or b==1:  # 【b实际上是-1】
    print('True')
else:
    print('False')


list = [1,2,3,4,5]
a = 1
# 做一次布尔运算,判断“a是否在列表list之中”
print(bool(a in list))
print(bool(a not in list))

#运行结果会是什么你应该很清楚啦,看看就好~
dict = {'法国':'巴黎','日本':'东京','中国':'北京'}
a = '法国'

print(bool(a in dict))

'''
以下是and运算
False
以下是or运算
True
True
False
True
'''

 

四种新的语句

这4种新语句配合for循环和while循环,可以让循环发挥更多的功能。我们逐个来看

break语句

我们先来看看break语句。break的意思是“打破”,是用来结束循环的,一般写作if...break。它的写法长这样

# break语句搭配for循环
for...in...:
    ...
    if ...:
        break

# break语句搭配while循环
while...(条件):
    ...
    if ...:
        break

在这里,if...break的意思是如果满足了某一个条件,就提前结束循环。记住,这个只能在循环内部使用。

小小地提醒你,break前面一共缩进了【8个空格】。

这是因为if之下的语句要缩进4个空格(按一次Tab键),这里的if...break又嵌套在while或for循环中,而循环语句本身又要缩进4个空格。这样一来,break就缩进了【4+4=8】个空格(按两次Tab键)。【注】:Tab键和空格键不能同时混用。

continue语句

continue的意思是“继续”。这个子句也是在循环内部使用的。当某个条件被满足的时候,触发continue语句,将跳过之后的代码,直接回到循环的开始

# continue语句搭配for循环
for...in...:
    ...
    if ...:
        continue
    ...

# continue语句搭配while循环
while...(条件):
    ...
    if ...:
        continue
    ...

pass语句

pass语句就非常简单了,它的英文意思是“跳过”

a = int(input('请输入一个整数:'))
if a >= 100:
    pass
else:
    print('你输入了一个小于100的数字')

这个代码的意思是:当a>=100的时候,跳过,什么都不做。其他情况,也就是a<100的时候,执行一个print语句。
如果没有pass来占据一个位置表示“什么都不做”,以上的代码执行起来会报错

else语句

最后一种else语句,我们在条件判断语句见过【else】,其实,else不但可以和if配合使用,它还能跟for循环和while循环配合使用

for:当循环中没有碰到break语句,就会执行循环后面的else语句,否则就不会执行

for i in range(5):
    a = int(input('请输入0来结束循环,你有5次机会:'))
    if a == 0:
        print('你触发了break语句,循环结束,导致else语句不会生效。')    
        break
else:
    print('5次循环你都错过了,else语句生效了。')

在while循环中,else的用法也是如此,格式一模一样

while...(条件):
    ...
else:
    ...
i = 0
while i<5: 
    a = int(input('请输入0结束循环,你有5次机会:'))
    i = i+1
    if a == 0:
        print('你触发了break语句,导致else语句不会生效。')    
        break
else:
    print('5次循环你都错过了,else语句生效了。')

循环小练习

大家应该玩过一个小游戏,就是一个人在心里想好一个数,比如24,然后让另一个人猜。如果他猜的数比24小,告诉他“太小了”,如果他猜的数比24大,告诉他“太大了”。

我们一起来完成这个“猜大小游戏”的编程,我的思路大概是这样的:

1.一个人在心里想好一个数————所以这个数字是提前准备好的,所以可以设置一个变量来保存这个数字。我就设置我的数字为24。

2.然后让另一个人猜————所以可以使用input()函数来接收另一个人输入的数字,并用int()转化为整数。

3.直到猜对为止————天知道几次才能猜对,所以肯定需要用到循环,并且由于不知道要循环几次,所以适合while循环。

4.如果他猜的数比24小就告诉他“太小了”,如果他猜的数比24大就告诉他“太大了”——这里一看“如果……就……”的描述,就知道应该用if...else...写一个条件判断。

secret = 24  #设定秘密数字
while True:       
    guess = input('你来猜猜我的秘密数字是多少:')   #输入猜测数字
    if int(guess)==secret:  #数字对比
        print('正确!你很棒哦。') 
        break
    elif int(guess)>secret:
        print('你猜的太大了,请重新猜猜~')
    else:
        print('你猜的太小了,请重新猜猜~')

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python15_布尔值_break_continue_pass_else 的相关文章

  • 简单逆序输出和空格转换

    1 有一个字符数组的内容为 34 student a am i 34 请你将数组的内容改为 34 i am a student 34 要求 xff1a 不能使用库函数 只能开辟有限个空间 xff08 空间个数和字符串的长度无关 xff09
  • 详解交换两个数的值

    交换两个数值 xff1a 简单来说就是将内存a中的值变成内存b中的值 xff0c 将内存b中的值变成内存a中的值 xff0c 而要想达到这种效果需要的就是交换他们彼此的地址 xff08 传地址 xff09 xff0c 如下图所示 xff08
  • 预编译小常识

    熟悉预处理标识符 xff1a LINE FILE DATE TIME include lt stdio h gt int main int i 61 0 for i 61 0 i lt 10 i 43 43 printf 34 file s
  • 数组知识总结

    一维数组 xff1a 先看两个最简单的语句 int a xff1b int b 10 显然a是一个整形变量 xff08 标量 xff09 xff0c b 10 称为数组 xff0c 表示一些整形值得集合 b表示一个指向整形的指针常量 xff
  • string函数的各种实现方式

    lt span style 61 34 font size 24px 34 gt strcpy lt span gt lt span style 61 34 font size 18px 34 gt lt span gt lt span s
  • 整数的各位数之和与指数的递归求法

    写一个递归函数DigitSum n xff0c 输入一个非负整数 xff0c 返回组成它的数字之和 include lt stdio h gt int DigitSum unsigned int n unsigned int sum 61
  • 两种计算器的实现方式

    简单的switch case实现计算器功能 xff1a include lt stdio h gt include lt stdlib h gt menu 显示计算机菜单 printf 34 1 Add n 34 printf 34 2 S
  • 简单电话本实现

    头文件模块 xff1a define CRT SECURE NO WARNINGS 1 实现一个通讯录 xff1b 通讯录可以用来存储1000个人的信息 xff0c 每个人的信息包括 xff1a 姓名 性别 年龄 电话 住址 ifndef
  • linux 画图不执行 Can't connect to X11 window server

    java在图形处理时调用了本地的图形处理库 在利用Java作图形处理 xff08 比如 xff1a 图片缩放 xff0c 图片签名 xff0c 生成报表 xff09 时 xff0c 如果运行在windows上不会出问题 如果将程序移植到Li
  • 电话本再实现

    头文件模块 xff1a define CRT SECURE NO WARNINGS 1 实现一个通讯录 xff1b 通讯录可以用来存储1000个人的信息 xff0c 每个人的信息包括 xff1a 姓名 性别 年龄 电话 住址 ifndef
  • 又一波str函数的模拟实现

    实现strchr 查找一个字符c在另一个字符串str中第一次出现的位置找到返回该位置的指针 xff0c 找不到返回NULL include lt stdio h gt char my strchr const char str int c
  • 其实你也懂指针计算

    在C语言中 xff0c 指针运算是一个让很多人感到无助的东西 xff0c 尤其在结合上数组的下标运算和指针的多级访问 xff0c 更加让指针这个东西更加神秘 xff0c 今天我们就来仔细的看一下指针之间的指向关系 下面来看一下这道题 xff
  • 注释转换

    编写一个小项目将一个一个文件中的注释都转换成C 43 43 的注释风格 设计部分 xff1a xff08 1 xff09 头文件模块 xff1a 包括模块中需要引用的头文件定义 xff0c 需要实现的主要函数的声明 xff08 2 xff0
  • atoi函数实现的各种考虑因素

    define CRT SECURE NO WARNINGS 1 include lt stdio h gt atoi实现 xff1a 将一个字符串转换为对应的整数 enum Status 定义两个枚举常量判断所给变量是否合法 kValid
  • 继承小结

    1 概念 面向对象程序设计使代码可以实现复用的最重要手段 xff0c 允许程序员在原有类特性的基础上进行扩展 xff0c 增加新的功能 2 定义格式 xff1a 首先是一个冒号 xff0c 后面紧跟以逗号分隔的基类列表 xff0c 其中每个
  • 到底多态有多难

    1 概念 多态 简单来说就是一种事物具有多种形式或者形态的特征 xff0c 好比我们生活中最简单的事物 xff0c 就像每天都会用到的水 xff0c 水有三态 xff0c 即固态 液态和气态 生活中这种多多态的例子很多 xff0c 同样在我
  • 解析模板(上)--模板函数

    模板引出 xff1a 在学习关于类的特性中 xff0c 有一个重要的特性叫做多态 xff0c 同样关于模板的学习也可以简单的把它理解成一种多态 xff0c 只不过模板中所涉及的多态是关于类型的替换 xff0c 正如在生活中使用模具一样 xf
  • 模板&仿函数的应用--冒泡排序

    普通版冒泡排序 对于冒泡排序的算法大家并不陌生 xff0c 将相临两个数一次比较 xff0c 然后将最大值或者最小值先排出来 xff0c 一般来说这样的话我们需要在碗面写两个函数来分别实现这两个算法 xff0c 程序代码如下 xff1a s
  • String类模拟

    span style font size 24px class String friend ostream amp operator lt lt ostream amp os String amp s 输出运算符重载 friend istr
  • win10主机ping不通win10虚拟机

    原因是ICMP回显请求规则未开启 xff0c 解决方法在文章末尾 环境说明 win10虚拟机 192 168 136 136 win10虚拟机采用的网络连接是 NAT 模式 ipconfig结果如下 xff1a 以太网适配器 Etherne

随机推荐

  • <操作系统> 理发店问题(选做)C语言实现

    问题描述 xff1a 代码 xff1a span class token macro property span class token directive keyword include span span class token str
  • 特殊矩阵的压缩存储及转置

    一 对称矩阵及其压缩存储 1 对称矩阵 在矩阵中最特殊的一类应该属于对称矩阵 xff0c 对称矩阵的行和列是对应相等的 对称矩阵就是关于主对角线对称 xff0c 两边的元素的值对应相等 xff0c 在数学中我们把用主对角线隔开 xff0c
  • STL浅析set&map

    map和set的底层实现原理和接口使用 1 set和map的底层实现 set和map属于STL中的一种关联式容器 xff0c 底层实现是红黑树 2 set容器的特点 1 set和map 容器中的元素自动进行有序排列 默认为升序排列 xff1
  • Linux下的文件操作权限

    Linux下进入一个目录需要什么权限 xff1f 普通用户下 xff1a 首先我们在普通用户下 xff0c 取消文件code的所有权限chmod 000 code 当我们执行cd code 想进入当前目录时 xff0c 发现权限不允许 接下
  • linux下的常见命令

    cd change directory 进入个人的主目录 cd home 进入 39 home 39 目录 39 cd 返回上一级目录 cd 返回上两级目录 cd 返回上次所在的目录 ls list 查看目录中的文件 ls l 显示文件和目
  • task_struct结构体成员小结

    背景知识 task stuct结构体 被称为进程描述符 xff0c 用 来管理进程Linux内核的进程 xff0c 这个结构体包含了一个进程所需的所有信息 它定义在 include linux sched h文件中 可以说它是linux内核
  • Linux下的简单进度条实现

    进度条 计算机在处理任务时 xff0c 实时的 xff0c 以图片形式显示处理任务的速度 xff0c 完成度 xff0c 剩余未完成任务量的大小 xff0c 和可能需要处理时间 xff0c 一般以长方形条状显示 主要功能 xff1a 1 显
  • 九大排序之——希尔排序

    希尔排序 xff1a 思想 xff1a 希尔排序是为了防止直接插入排序出现最坏情况所做的一种改进 xff0c 将原本的排序过程分为预排序和直接插入排序两个阶段 预排序阶段 xff1a 将整个预排序的序列分为若干个待排序的子序列 xff0c
  • 僵尸进程与孤儿进程模拟实现

    背景知识 僵尸进程 xff08 Zombies xff09 xff1a 1 僵尸进程是一个比较特殊的状态 xff0c 当进程退出父进程 xff08 使用wait 系统调用 xff09 没有没有读取到子进程退出的返回代码时就会产生僵尸进程 僵
  • 队列模拟实现

    队列的特点 xff1a 先进先出 后进后出 队列的常见操作 xff1a Push 往队尾插入一个元素 Pop 从队头删除一个元素 Front 返回队列的第一个元素 Back 返回队列的最后一个元素 Size 求队列的元素个数 Empty 判
  • ssh端口转发(之kettle ssh方式连接数据库)

    ssh参数解释 格式 ssh user 64 host command 选项 xff1a 1 xff1a 强制使用ssh协议版本1 xff1b 2 xff1a 强制使用ssh协议版本2 xff1b 4 xff1a 强制使用IPv4地址 xf
  • str库函数模拟实现

    常见str函数功能表 xff1a strcat 将字符串str2连接到str1之后 xff0c 并返回指针str1 strncat 将字符串from 中至多count个字符连接到字符串to中 xff0c 追加空值结束符 返回处理完成的字符串
  • min栈实现

    题目 xff1a 实现一个栈 xff0c 要求实现Push xff08 出栈 xff09 Pop xff08 入栈 xff09 Min xff08 返回最小值的操作 xff09 的时间复杂度为O 1 分析 xff1a 这道题目的主要难点在于
  • 栈实现队列&&队列实现栈

    背景知识 xff1a 动态栈的模拟实现 xff1a http blog csdn net double happiness article details 70170984 队列的模拟实现 xff1a http blog csdn net
  • 一个数组实现两个栈

    分析 xff1a 用一个数组实现两个栈有三种思路 xff1a xff08 1 xff09 将数组按照奇 偶为分成两组 xff08 2 xff09 将数组按照从两边到中间分成两组 xff08 3 xff09 将数组按照从中间到两边分成两组 比
  • 栈的压入弹出序列

    题目描述 xff1a 判断一个栈的输出序列是否是正确的 xff0c 时间复杂度要求O N 示例 xff1a 输入栈 xff1a 1 2 3 4 5 1 输出栈 xff1a 4 5 3 2 1 2 输出栈 xff1a 4 3 5 1 2 分析
  • list模拟实现

    双向链表代码实现 xff1a span style font size 24px pragma once 双向链表 template lt class T gt struct ListNode T data 当前节点中的数据 ListNod
  • C模拟实现静态顺序表

    头文件模块 xff1a span style font size 24px include lt iostream gt typedef int DATATYPE const int MAX 61 5 struct SeqList DATA
  • Mem库函数模拟实现

    本篇视图 xff1a 1 memset 2 memcpy 3 memmove 4 memcmp 5 memchr memset 功能 xff1a 将一段内存初始化为某个值 xff1b 函数拷贝ch 到buffer 从头开始的count 个字
  • Python15_布尔值_break_continue_pass_else

    布尔值 用数据做判断 xff1a 布尔值 计算机利用数据有三种方式 xff1a 1 直接使用数据 xff0c 2 计算和加工数据 xff0c 3 用数据做判断 布尔值 True和False 代码将会无限运行 xff0c 陷入 死循环 xff