1. # 运算符与分支结构
  2. ### 运算符
  3. - 赋值运算符
  4. - '='表示,左边只能是变量。
  5. - 算术运算符
  6. - +、-、*:加、减、乘
  7. - /:除法运算,结果是浮点数
  8. - //:除法运算,结果是整数
  9. - %:求余
  10. - **:求幂
  11. - 复合运算符
  12. - +=、-=、*=、/=、//=、%=、**=
  13. - 示例:`a += b`等价于`a = a + b`
  14. - 关系运算符
  15. - `>、>=、<、<=、==、!=`
  16. - 表达式:由操作数和运算符构成的式子
  17. - 关系表达式:由操作数和关系运算符构成的式子
  18. - 关系表达式是有值的:符合数学逻辑值为真(True)、不符合数学逻辑值为假(False)
  19. - 逻辑运算符
  20. - 与(and):两边的表达式同时为真,结果才为真。
  21. ```python
  22. a = 20
  23. # 通用写法
  24. # print(a>=10 and a<=100)
  25. # 特有写法
  26. print(10 <= a <= 100)
  27. b = 10
  28. print(b%3 == 0 and b%5 == 0)
  29. ```
  30. - 或(or):两边的表达式一个为真,结果就为真。
  31. ```python
  32. year = int(input('请输入一个年份:'))
  33. print((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
  34. ```
  35. - 非(not):用于取反表达式,真变假,假变真。
  36. - 经常伴随着隐式类型转换
  37. - 使用not是为了简化书写
  38. - 成员运算符
  39. - innot in:判断一个值是否在另一个变量中
  40. - 说明:通常用在字符串、列表、元组、集合、字典等成员的判断
  41. - 示例:
  42. ```python
  43. lt = [1, 2, 3]
  44. print(8 in lt)
  45. print(8 not in lt)
  46. d = {'name': 'ergou', 'age': 18}
  47. ```
  48. # 字典成员判断的是键
  49. print('name' in d)
  50. ```python
  51. - 位运算符(了解)
  52. - &:按位与,对应的数据位同时为1,结果上对应的位才为1
  53. - |:按位或,对应的数据位一个为1,结果上对应的位就为1
  54. - ^:按位异或,对应的数据位相同时结果上的位为0,不同时结果上位为1
  55. - ~:按位取反,数据的每一位,0变1,1变0
  56. - <<:按位左移,左移一位相当于乘以2
  57. - >>:按位右移,右移一位相当于除以2
  58. - 优先级与结合性
  59. - 语法中没有明确规定运算符的优先级与结合性,即使明确说了你也不一定能记得住。
  60. - 建议:使用时不用刻意记录优先级与结合性,当需要明确指定时添加括号即可。
  61. ### 流程控制
  62. - 说明:
  63. - 按照程序的执行流程,程序可以分为三种结构:顺序结构、分支结构、循环结构
  64. - 顺序结构:代码按照从上到下的顺序依次执行,没有语法要求。
  65. - 代码层次:python中的代码块不是通过大括号表示的,而是通过缩进来表示。
  66. - 分支结构(if-else)
  67. - 格式1:适合于生活中的条件执行问题
  68. ```python
  69. if 表达式:
  70. 语句块
  71. ```
  72. > 执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则指定缩进的语句块;若表达式的值为假,则跳过语句块执行后面的内容。
  73. - 格式2:适合于解决生活非此即彼的问题
  74. ```python
  75. if 表达式:
  76. 语句块1
  77. else:
  78. 语句块2
  79. ```
  80. > 执行流程:当程序执行到if-else语句时,首先判断表达式的值真假。若表达式的值为真,则执行语句块1;若表达式的值为假,则执行语句块2.
  81. - 格式3:适合于解决生活中多种选择的问题
  82. ```python
  83. if 表达式1:
  84. 语句块1
  85. elif 表达式2:
  86. 语句块2
  87. elif 表达式n
  88. 语句块n
  89. else:
  90. 语句块
  91. ```
  92. > 1. elif的个数没有限制
  93. > 2. else可以省略
  94. > 3. 所有的语句块最多只能执行一个
  95. ### 字符串格式化
  96. - 示例:
  97. ```python
  98. name = '二狗'
  99. like = '王大花'
  100. age = 18
  101. # 格式化
  102. # %s:字符串
  103. # %d:整数
  104. # %f:浮点
  105. # %c:字符
  106. print('俺叫%s,暗恋%s,她今年%d岁' % (name, like, age))
  107. # python特有的格式化方案,推荐使用
  108. print('俺叫{},暗恋{},她今年{}岁'.format(name, like, age))
  109. print('俺叫{2},暗恋{1},她今年{0}岁'.format(name, like, age))
  110. print('俺叫{l},暗恋{n},她今年{a}岁'.format(n=name, l=like, a=age))
  111. ```
  112. ### ASCII
  113. - 说明:美国信息交换标准代码,就是用一个数字代表一个字符的表示形式。
  114. - 函数:
  115. ```python
  116. # 根据字符获取ASCII码
  117. print(ord('A'))
  118. # 根据ASCII码的值获取字符
  119. print(chr(97))
  120. ```
  121. ### 列表操作
  122. - 示例:
  123. ```python
  124. lt = [1, 2, 3, 4, 5]
  125. print(lt[0])
  126. print(lt[-1])
  127. print(lt[1:3])
  128. print(len(lt))
  129. # 修改
  130. lt[0] = 100
  131. # 追加,在列表的末尾添加
  132. # lt.append(200)
  133. # 整体作为一个元素添加
  134. # lt.append([200, 300])
  135. # 将可迭代对象中的每一个元素依次添加到列表
  136. lt.extend([200, 300])
  137. # 在指定位置插入元素
  138. lt.insert(2, 250)
  139. # 删除
  140. # 根据下标删除元素
  141. del lt[0]
  142. # 根据值进行删除
  143. lt.remove(250)
  144. # 返回并删除执行下标的元素,默认最后一个
  145. last = lt.pop(3)
  146. print(last)
  147. lt = [1, 2, 3, 4, 5, 1]
  148. # 根据元素,查找下标(第一个)
  149. print(lt.index(1))
  150. # 统计元素出现的次数
  151. print(lt.count(1))
  152. # 逆序
  153. lt.reverse()
  154. print(lt)
  155. lt = [5, 8, 3, 1, 9]
  156. # 排序,默认升序,可以通过reverse参数指定倒序排
  157. lt.sort(reverse=True)
  158. print(lt)
  159. ```
  160. ### 集合操作
  161. - 示例
  162. ```python
  163. s = {'生辉', '学轩', '俊峰', '鹏基', '二狗'}
  164. # 添加元素
  165. s.add('晓富')
  166. # 删除
  167. # s.remove('二狗')
  168. # 删除不存在的元素时会报KeyError错
  169. # s.remove('狗蛋')
  170. # 有就删除,没有也不报错
  171. # s.discard('狗蛋')
  172. # 返回并删除
  173. # print(s.pop())
  174. # 清空元素
  175. s.clear()
  176. # print(s)
  177. s1 = {'小马', '小芳', '小敏'}
  178. s2 = {'小杜', '小王', '小敏'}
  179. # 并集,捕获改变原集合
  180. # print(s1.union(s2))
  181. # 交集,不会改变原集合
  182. # print(s1.intersection(s2))
  183. # 交集,然后覆盖原集合
  184. # s1.intersection_update(s2)
  185. # 差集,不会改变原集合
  186. # print(s1.difference(s2))
  187. # 差集,然后覆盖原集合
  188. # s1.difference_update(s2)
  189. # print(s1)
  190. # 判断是否没有交集
  191. print(s1.isdisjoint(s2))
  192. # 判断是否是另一集合的子集
  193. print(s1.issubset(s2))
  194. # 判断是否是另一集合的父集/超集
  195. print(s1.issuperset(s2))
  196. ```
  197. ### 字典操作
  198. - 示例
  199. ```python
  200. d = {'name':'ergou','age':18}
  201. #获取成员
  202. print(d.get('name','默认'))
  203. #修改元素
  204. #元素存在直接更改
  205. #d['name'] = '二狗'
  206. #元素不存在则添加
  207. #d['height'] = 180
  208. #更新,存在的覆盖,不存在的添加
  209. #d.update({'name':'二狗','height': 180})
  210. #删除
  211. #del d['age']
  212. #返回后删除
  213. #print(d.pop('age'))
  214. #清空
  215. #d.clear()
  216. print(d)
  217. ```
  218. ### 练习:
  219. - 从终端获取一个年份,判断是否是闰年,是就打印'xxx年是闰年',不是就打印'xxx年不是闰年'
  220. - ```python
  221. s = int(input("请输入一个年份:"))
  222. if s % 100 !=0 and s%4 ==0 or s % 400 == 0 :
  223. print(s,"年是闰年")
  224. else:
  225. print(s,"年不是闰年")
  226. ```
  227. - 输入两个整数,打印较大值
  228. - ```python
  229. i = int(input("请输入一个整数:"))
  230. j = int(input("请输入一个整数:"))
  231. if i > j :
  232. print(i)
  233. else:
  234. print(j)b
  235. ```
  236. - 输入三个整数,按照从小到大的顺序打印
  237. - ```python
  238. i = int(input("请输入一个整数:"))
  239. j = int(input("请输入一个整数:"))
  240. b = int(input("请输入一个整数:"))
  241. lt = []
  242. lt.append(i)
  243. lt.append(j)
  244. lt.append(b)
  245. lt1 = sorted(lt)
  246. print(lt1[0],lt1[1],lt1[2])
  247. ```
  248. - 输入一个三位数,顺序打印个位、十位、百位上的数
  249. - ```python
  250. i = int(input("请输入一个整数:"))
  251. print(int(i%10,),int(i%100//10,),int(i//100,))
  252. ```
  253. - 输入一个整数,判断是否既能被3整除,又能被7整除
  254. - ```python
  255. i = int(input("请输入一个整数:"))
  256. print()
  257. if i % 3 ==0 and i % 7 ==0 :
  258. print(i,"既能被3整除,也能被7整除")
  259. else:
  260. print(i,"不能即被3整除,又被7整除")
  261. ```
  262. - 输入一个字符,是大写转换为小写,是小写转换为大写,其它字符原样输出
  263. - ```
  264. i = input("请输入一个字符:")
  265. print(i.swapcase())
  266. ```

python_ 运算符与分支结构的更多相关文章

  1. python 运算符与分支结构

    运算符与分支结构 运算符 赋值运算符 用'='表示,左边只能是变量 算术运算符 +.-.*:加.减.乘 /:除法运算,结果是浮点型 //:除法运算,结果是整型 %:求余 **:求幂 复合运算符 +=. ...

  2. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  3. Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解

    1.计算机语言的发展史: 机器语言:机器语言是指一台计算机全部的指令集合. 汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母.符号串来替代一个特定的指令的二进制 ...

  4. java 基础 02 数据类型、运算符、分支结构

    内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...

  5. day03 Java_运算符_分支结构

    列表: 运算符的练习:算术.关系.逻辑.赋值.字符串连接.条件 分支结构的练习:if结构 分支结构的练习:if...else结构 参考 运算符的练习:算术 输出几个整数取模,验证结果 声明两个整型变量 ...

  6. Python基础—03-运算符与分支结构

    运算符与分支结构 运算符 赋值运算符 用'='表示,左边只能是变量 算术运算符 +.-.*:加.减.乘 /:除法运算,结果是浮点型 //:除法运算,结果是整型 %:求余 **:求幂 复合运算符 +=. ...

  7. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  8. 十一、 BOOL类型、分支结构和关系运算符

    BOOL类型:表示非真即假.只有两个值:YES和NO,而二进制只识别二进制数,所以,将YES替换为“1”,NO替换为“0” BOOL数据类型占一字节的空间内存 BOOL数据类型输出为:%lu:输入为: ...

  9. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

随机推荐

  1. 【转】Xcode真机测试could not find developer disk image解决方法

    在使用Xcode进行真机调试的时候,有时根据真机的系统不同,会出现could not find developer disk image 错误,这是由于真机系统过高或者过低,Xcode中没有匹配的配置 ...

  2. R 语言学习日志 1

      1. CSV文件的的读取与写出 2. 数据集筛选 3. 简单随机抽样 sample函数   正文: 1. CSV文件的的读取与写出 文件读取: df2 <- read.table(" ...

  3. N76E003---输入捕获

    输入捕获 根据芯片手册,定时器2可以作为输入捕获使用,设置非常简单,官方也提供了宏给我们使用 void Time2_cap_init(void) { /******* 输入捕获CF设置 ******* ...

  4. 在c#中using和new这两个关键字有什么意义?

    在c#中using和new这两个关键字有什么意义?答:using 引入名称空间或者使用非托管资源, new 新建实例或者隐藏基类方法

  5. JS isArray、typeof、instanceof

    Array.isArray() 用来检验是不是数组 var a = [1,2,3] console.log(typeof a); // object console.log(Array.isArray ...

  6. C# 委托知识总结【转】

    1.什么是委托,为什么要使用委托 我正在埋头苦写程序,突然想喝水,但是又不想自己去掉杯水而打断自己的思路,于是我就想让女朋友去给我倒水.她去给我倒水,首先我得让她知道我想让她干什么,通知她之后我可以继 ...

  7. 实战 Lucene2.0

    Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能.Lucene 目前是 Apache Jakarta 家 ...

  8. 【清真dp】cf1144G. Two Merged Sequences

    成就:赛后在cf使用错误的贪心通过一题 成就:在cf上赛后提交hack数据 成就:在cf上赛后hack自己 题目大意 有一长度$n \le 2\times 10^5$的序列,要求判断是否能够划分为一个 ...

  9. mac安装mysql及workbench

    安装mysql 登录MySQL网站 打开网站Download MySQL Community Server,选择下方的dmg文件下载 点击download,此处为8.0.11版本 然后选择no tha ...

  10. nginx 报错: nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

    执行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf https://www.cnblogs.com/codingcl ...