【数据分析】python基础必修3—条件语句/运算符/真假值/循环/算法练习
目录
1.条件语句
2.运算符
2.1成员运算符
2.2逻辑运算符
3.真假值的判断
4.身份运算符
5、循环
5.1while循环
5.2for循环
5.3循环的中断
5.4循环算法练习:冒泡排序
6.作业
1.条件语句
之前我们学习了基本的条件控制以及比较运算符,详细请参阅python基础必修1。
# 先声明两个字符串i = 'a'
j = 'B'
if i < j:print('a小')
else:print('a大')
输出结果
为什么会输出a大呢?它们之间到底是怎样比较的?
其实,字符串之间的比较是按ASCII码表来的,它们之间的对应关系如下:
'0'-'9':48-57
'A'-'Z':65-90
'a'-'z':97-122
# 用ord()来显示字符的ASCII码值i = 'a'
j = 'B'print(ord(i)) # 打印i的ASCII码值
print(ord(j)) # 打印j的ASCII码值
输出结果
# 用chr()来将ASCII码值转换成字符print(chr(97))
输出结果
2.运算符
2.1成员运算符
'''
成员运算符
in not in
'''my_string = 'abcdefg'if 'a' in my_string:if 'b' in my_string:print("a和b都在my_string中")if 't' not in my_string:print("t不在my_string中")
输出结果
2.2逻辑运算符
'''
逻辑运算符and or not
'''
house_person = ['建国','爱国','国庆','卫国']if '建国' in house_person and '卫国' in house_person\ # 此处要添加\,否则报错,\代表这两部分是一行的and '爱国' in house_person and '国庆' in house_person:print("他们在搓麻将")
else:print("他们在打游戏")if '建国' not in house_person:print("建国不在,麻将三缺一")
else:print("建国正在打游戏")
3.真假值的判断
关于True和False的讨论
print(True and False)
print(True or False)
print(not True)print(1 and 0)
print(1 or 0)
print(not 1)
输出结果
根据输出结果可以看出
1其实代表了True,0代表了False
and 需要判断到最后一个,只有全部为真,才会返回真
or 只要碰到真,就直接返回真,后面的不用再判断
不是1和0程序如何判断?
print(3 and 4 and 5)
print(3 or 4 or 5)
输出结果
再次验证and会判断到最后一个值5,然后输出,而or遇到第一个真值3就可以返回了。
4.身份运算符
'''
身份运算符
is
is not
'''i = 1
j = 1
print(i == j)
print(i is j)print(id(i)) # 打印输出i的地址
print(id(j))
输出结果
list_1 = [1, 2, 3]
list_2 = [1, 2, 3]print(list_1 is list_2)
print(list_1 == list_2)print(id(list_1))
print(id(list_2))
输出结果
从上面几个例子可以看出
is 判断的是这些量在内存中的地址
而 == 判断的是这些量的值
5、循环
python中循环的思路框架
循环条件变化必须要有,否则会进入死循环,就像老和尚给小和尚讲故事一样。
5.1while循环
# while循环:求1到10的和n = 1
sum = 0 # 用来计算和
while n<=10:sum += n # 相当于sum = sum + n,之前有讲过+=的意思n += 1 # 相当于 n = n + 1
print(sum)
输出结果
5.2for循环
list = [1,2,3,4,5,6,7,8,9,10]
sum = 0for i in list: # 遍历list中的元素临时保存到i中sum = sum + i
print(sum)# 上面的代码写起来是比较费劲的,下面为改进代码sum = 0
for i in range(11): # rang()表示一个范围,里面的参数不包含本身,也就是1-10sum = sum + i
print(sum)
输出结果
5.3循环的中断
循环中的break:跳出整个循环
循环中的continue:跳出本次循环
# 只会输出1
while True:print(1)breakprint(2)# 会陷入死循环
while True:print(1)continueprint(2)i = 1while True:print("外层循环1") while True:print("内层循环")break # 跳到外层大循环print("外层循环2")break
5.4循环算法练习:冒泡排序
冒泡排序算法思路
从左到右,将数组中相邻的两个元素进行比较,把较大的放到后面。
1、比较相邻的元素,若第一个元素比第二个元素大,则交换这两个元素的位置;
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对;
3、针对所有的元素重复以上的步骤;
# 冒泡排序nums = [3, 1, 25, 10, 15, 8, 6] # 声明一个列表
for i in range(len(nums)-1): # len()返回的是元素个数,角标需要减1(角标都从0开始)for j in range(len(nums) - i - 1):if nums[j] > nums[j + 1]: # 判断前面的元素是否大于后面的元素nums[j], nums[j+1] = nums[j+1], nums[j] # 若满足条件,两元素交换位置print("第" + str(j) + "次内循环" + str(nums))print("-----第" + str(j) + "次外循环" + str(nums) + "-----") print("冒泡排序后的结果:" + str(nums))
输出结果
这块对于初学者可能比较绕,可以现在纸上列出来自己写出每一次交换的结果,再对比程序。
6.作业
已经有一个序列nums = [3, 1, 25, 10, 15, 8, 6]
1、将这个序列从大到小排序
2、声明一个变量,数字 i =7 把这个i插入到序列中它应该在的大小位置。
思路提示:在判断的时候,可以重新声明一个新的序列,然后第一个序列中的值跟 i 比较
若比 i 大,可以直接放入新的序列;若比 i 小,那先放入 i ,然后放入剩下所有的值。
【数据分析】python基础必修3—条件语句/运算符/真假值/循环/算法练习相关推荐
- Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条件 ...
- Python基础入门:条件语句--阿里云天池
一.条件语句 if 语句 if expression: expr_true_suite if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否 ...
- Python基础教程:条件语句的七种写法
有的人说 Python 是一门 入门容易,但是精通难的语言,这一点我非常赞同. Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那 ...
- python 条件语句实例_详解python 条件语句和while循环的实例代码
详解python 条件语句和while循环的实例代码,逻辑,布尔,值为,结束,语句 详解python 条件语句和while循环的实例代码 易采站长站,站长之家为您整理了详解python 条件语句和wh ...
- Python基础之day02-if判断与while,for循环
Python基础之day02-if判断与while,for循环 文章目录 Python基础之day02-if判断与while,for循环 一.比较与关系运算符 二.if-elif-else语句 三.i ...
- matlab条件语句和for循环匿名函数
if 条件语句和for 循环 x=[10,13,3,-3,1,3,5,6,35,23,-9]; n=1; m=1; t=1; for i= 1:length(x)if x(i)>10B(n)=x ...
- [Python学习] 专题二.条件语句和循环语句的基础知识
前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支.双分支和 ...
- 一文搞懂python3基础大全(变量,标准数据类型,标识符,行与缩进,运算符和表达式,条件语句if,循环语句,函数,文件,面向对象,错误和异常,模块)
2.Python3基础 2.1.变量 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.变量没有类型,"类型"是变量所指的内存中对象的类型 ...
- python统计字母出现次数用while循环_Python—变量,条件语句,while循环,运算符,字符串等...
Python初识以及变量: 变量名:--字母 --数字 --下划线[见名识意] (PS:数字不能开头:不能是关键字:最好不能和python内置的东西重复) ###################### ...
最新文章
- Linux下显示前10个占用空间最大的文件或目录命令
- 查看centos中mysql的日志的命令_CentOS系统中常用查看日志命令
- 皮一皮:为啥年轻人不生孩子?
- VC++ 鼠标非显示区域命中测试消息WM_NCHITTEST和相关编程问题学习1
- stm32f103rb升级到stm32f103rc时代码移植注意事项
- macappstore登不上去_Mac 链接不上AppStore的解决方法
- 织梦DEDECMS网站批量删除未审核稿件的方法
- SAP CRM fiori application delete if only one note header
- linux 下export的作用,linux export 的作用
- 吴恩达《卷积神经网络》
- [译]优秀的开发人员是培养出来的,不是招聘过来的
- 数据挖掘:模型选择——监督学习(回归)
- android rom 刷机包下载地址,谷歌Android5.0 Nexus系列安卓ROM刷机包镜像/驱动下载地址发布...
- centos6下的vsftpd配置
- 需要一张可视化三维地图?这样炫酷的3D全景地图,你也可以拥有
- 第三方SDK开发入门
- 快速在PPT里插入多张图片
- 高德地图/腾讯地图地址转换经纬度
- 使用纯碎的HTML CSS制作多拉A梦(即为CSS画图)
- 券商接口量化交易策略——KDJ指标
热门文章
- 初学者-----HTTP协议的基本格式
- ArcGIS API for JavaScript学习笔记(1)API本地部署
- H5 -- 自定义微信分享第三方页面链接的标题和小缩略图
- leetcode(力扣) 718. 最长重复子数组 1143. 最长公共子序列 1035. 不相交的线 (动态规划)
- 用Java实现的eChat聊天服务器
- 华为k662c的虚拟服务器,华为k662c路由器怎么设置 | 华为k662c路由器设置_什么值得买...
- 关于Halcon的离心机试管槽定位
- Flink 网络流控和反压剖析详解
- 【论文阅读】Video Generation from Single Semantic Label Map-CVPR2019
- vue中实现电子签名