python基础 (三)
成员运算
判断某个个体在不在某个群体里,关键词:in(在),not in(不在)例如:
特殊的,如果是字典中,因为字典的V值是隐藏的,能查看的只有V,所以无法判断V值,只能判断K值。
身份运算
用于判断两个数据的值和内存地址是否相等,== 判断值,is 判断地址
由图可知,即使的相同的值,他们所在的地址也可能是不同的,因此可以说:
变量的值相同,内存地址可能不同;变量的内存地址相同,他们的值一定相同。
流程控制
流程控制即控制事物发生的流程,共分为三类:
1.顺序结构
即从上到下依次执行数据,一般的代码都是依照这种流程。
2.分支结构
在代码的运行中根据不同的条件,会执行执行不同的结果。
3.循环结构
在程序的运行中会有一部分代码需要反复执行。
必知必会
在正式学习前有一些需要提前了解的点:
1.所有的条件都会转化为布尔值,来确定子程序是否运行。
2.在python中,使用缩进来表示代码的从属关系,代码与子代码之间必须要有缩进。(在python中推荐使用4个空格来缩进)
3.并不是所有的代码都可以拥有子代码。
4.同一段代码下的子代码,必须要有相同的缩进量。
另,如果看到一段代码的后面有冒号,则可以确定下面为这段代码的子代码。
分支结构
关键词if:意味条件成立后运行之后的代码
if 和 else 配合使用,条件符合时执行if 下的代码,条件不符时执行else 下的代码
if 和 elif 和else 配合使用,先判断if 的条件符不符合,符合就执行,不符合就再与elif 的条件判断,如果也不符合,就去执行else 下的代码。
elif 可能不止一条,此时就按从上到下的顺序依次判断。
此过程以流程图表示如下图
if判断之嵌套
if 判断之间可以嵌套,即可以在if 条件下再写一个if 条件,在满足第一个if 条件后会进入第二个if 条件再进行判断。
将上述过程用流程图来表示如下图所示:
循环结构
关键词:while,这种结构表示当满足while的条件时,就会循环的执行子代码块(True表示永远满足)
while + break 结构
由上图可知,当进入循环语句后,只要还满足循环的条件,那么程序就会一直循环下去,当我们需要打破这种循环是,就要用到break。
上述程序的流程如图所示
另外要注意的是,break是意义是结束本层循环。也就是说,当存在多层循环时,break只能将这一层的循环结束而无法结束更上一层的循环。
上述程序的流程如图所示
全局标志位
由于break只能结束本层循环,如果想直接结束循环的话可以使用全局标志位来代替break结束循环。
练习
猜年龄的游戏
- real_age = 20
- count = 0
- while count <= 3:
- if count < 3:
- print('\n你还有%s次机会' % (3-count))
- age = int(input('输入你猜的年龄')) # 将获取的字符串转化为整型
- if age == real_age: # 判断年龄
- print('你猜对了')
- break
- elif age > real_age:
- print('你猜的年龄太大了')
- else:
- print('你猜的年龄太小了')
- count += 1
- else:
- while True: # 是否选择继续
- again = input("\n是否继续:是/否")
- if again == "是":
- count = 0
- break
- elif again == "否":
- count += 1 # 让count值超出循环条件
- break
- else:
- print("\n只能输入是或否")
运行结果
python基础 (三)的更多相关文章
- Python 基础 三 反射
Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- Python 基础三 文件 函数
今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...
- python基础三
多级菜单 多级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 #!/usr/bin/env python # -*- coding: utf-8 -*- menu = { '北京':{ '海淀 ...
- Python基础三. 函数、lambda、filter、map、reduce
一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- python基础(三)
set集合 set集合创建 #方式1: se = {'} #与字典类似dict1 = {'k1','v1','k2','v2'} #方式2: se = set() #创建一个空的集合 list1 = ...
- 【笔记】Python基础三:文件
一,文件操作 (一),文件处理流程 1,打开文件,获得文件句柄(open函数提供)并赋值 2,通过句柄对文件进行操作 3,关闭句柄 f = open('陈粒',encoding='utf-8')#op ...
- Python基础三(选择,循环)
序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...
- Python基础(三) 数据类型
我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组成了基本控制块,从而创建的Python应用程序. 一.基本结构 1.数值: Python支持不同的 ...
随机推荐
- 在CentOS(Linux)下用TomCat部署完java项目后,在Windows下可以访问8080,但无法通过输入页面名.jsp进入页面
错误描述:今天第一次在linux下部署项目,写了个测试的项目,在CentOS下放行8080端口后,在Windows下可以访问8080,出现TomCat的欢迎页面,但想要进入某一个静态的jsp页面显示找 ...
- 使用json.net实现复杂对象转换为QueryString
目标:生成复杂对象的QueryString,比如 new { Field1 = 1, Field2 = new { Field3 = "2", Field4 = new[] { n ...
- [cf1515H]Phoenix and Bits
记$V=2^{20}-1$,即值域范围,也可以作为"全集" 显然与$a_{i}$的顺序无关,对所有$a_{i}$维护一棵trie树 关于如何维护这棵trie树,考虑使用分裂+合并的 ...
- [atAGC023F]01 on Tree
对每一个节点维护一个序列,初始即自己(长度为1),并记$a_{i}$和$b_{i}$分别为第$i$个点序列上0和1的个数(也需要存储具体的序列) 考虑$\frac{b_{i}}{a_{i}}$最小中最 ...
- JavaSE复习巩固
第二天:复习if语句,扫描器,switch语句,循环语句 1.if语句---流程控制语句 if之前学的语句是顺序结构 1.1 单个if的语法结构 if(条件判断){ 满足条件需要做的事情: } int ...
- JOI 2020 Final 题解
T1. 只不过是长的领带 大水题,把 \(a_i,b_i\) 从小到大排序. 发现最优方案只可能是大的 \(a_i\) 跟大的 \(b_i\) 匹配,小的 \(a_i\) 与小的 \(b_i\) 匹配 ...
- Atcoder Regular Contest 061 D - Card Game for Three(组合数学)
洛谷题面传送门 & Atcoder 题面传送门 首先考虑合法的排列长什么样,我们考虑将每次操作者的编号记录下来形成一个序列(第一次 A 操作不计入序列),那么显然这个序列中必须恰好含有 \(n ...
- Kruskal 重构树小记
其实也不是多难的知识点吧--学了一个中午+半个下午就把它学会了(做过那道 jxd 作业 CF571D 的应该比较好理解) Kruskal 重构树大概就是在正常 Kruskal 的时候,对于两个需要连边 ...
- #10470. 「2020-10-02 提高模拟赛」流水线 (line)
题面:#10470. 「2020-10-02 提高模拟赛」流水线 (line) 题目中的那么多区间的条件让人感觉极其难以维护,而且贪心的做法感觉大多都能 hack 掉,因此考虑寻找一些性质,然后再设计 ...
- liveBOS环境搭建
环境搭建:1.准备jdk1.6及以上版本oracle11gplsqlsql脚本(oracle_init.sql,oracle_insert.sql)livebos_tomcatlivebos的授权文件 ...