A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小江哥 于 2018-6-6 12:30 编辑

条件语句和循环语句
运算符
数学符号表链接:
https://zh.wikipedia.org/wiki/
数学符号表

01.算数运算符 是完成基本的算术运算使⽤的符号,⽤来处理四则运算
运算符      
描述实例
   +                10 + 20 = 30
         -                10 - 20 = -10
         *                10 * 20 = 200
        /                10 / 20 = 0.5
       //        取整除        返回除法的整数部分(商) 9 // 2         输出结果 4
       %        取余数        返回除法的余数 9 % 2 = 1
       **                ⼜称次⽅、乘⽅,2 ** 3 = 8
   在 Python * 运算符还可以⽤于字符串,计算结果就是字符串重复指定次数的结果
   In [1]: "-" * 50
   Out[1]: '        '

02.⽐较(关系)运算符
运算符描述
      ==        检查两个操作数的值是否 相等,如果是,则条件成⽴,返回 True
                   !=        检查两个操作数的值是否 不相等,如果是,则条件成⽴,返回 True
                    >        检查左操作数的值是否 ⼤于 右操作数的值,如果是,则条件成⽴,返回 True
                    <        检查左操作数的值是否 ⼩于 右操作数的值,如果是,则条件成⽴,返回 True
                   >=        检查左操作数的值是否 ⼤于或等于 右操作数的值,如果是,则条件成⽴,返回 True
                   <=        检查左操作数的值是否 ⼩于或等于 右操作数的值,如果是,则条件成⽴,返回 True

Python 2.x 中判断 不等于 还可以使⽤ <> 运算符  != Python 2.x 中同样可以⽤来判断 不等于

03.逻辑运算符 运算符        

逻辑表达式描述

                     and        x and y        只有 x y 的值都为 True,才会返回 True否则只要 x 或者 y 有⼀个值为 False,就返回 False                  
                     or        x or y        只要 x 或者 y 有⼀个值为 True,就返回 True只有 x y 的值都为 False,才会返回 False
                    not        not x        如果 x True,返回 False如果 x False,返回 True逻辑运算符也可以参与运算
                   In [1]: 1 and 2Out[1]: 2 In [1]: 1 or 2Out[1]: 1

04.赋值运算符 Python 中,使⽤ = 可以给变量赋值在算术运算时,为了简化代码的编写, Python 还提供了⼀系列的 与 算术运算符 对应的 赋值运算符注意:赋值运算符中间不能使⽤空格 运算符        
     描述实例
                       =        简单的赋值运算符        c = a + b a + b 的运算结果赋值为 c
                             +=      加法赋值运算符        c += a 等效于 c = c + a
       -=        减法赋值运算符        c -= a 等效于 c = c - a
                      *=        乘法赋值运算符        c = a 等效于 c = c a
                     /=        除法赋值运算符        c /= a 等效于 c = c / a
                     //=        取整除赋值运算符        c //= a 等效于 c = c // a
                     %=         (余数)赋值运算符        c %= a 等效于 c = c % a
                      **=        幂赋值运算符        c = a 等效于 c = c a


05.运算符的优先级 以下表格的算数优先级由⾼到最低顺序排列 运算符        描述
          **         (最⾼优先级)* / % //        乘、除、取余数、取整除+ -        加法、减法<= < > >=        ⽐较运算符== !=        等于运算符= %= /= //= -= += = *=        赋值运算符not or and        逻辑运算符


循环01.程序的三⼤流程 在程序开发中,⼀共有三种流程⽅式:
顺序 —— 从上向下,
顺序执⾏代码分⽀ —— 根据条件判断,
决定执⾏代码的 分⽀循环 —— 让 特定代码 重复 执⾏

02.  while        循环基本使⽤ 循环的作⽤就是让 指定的代码 重复的执⾏  while 循环最常⽤的应⽤场景就是 让执⾏的代码 按照 指定的次数 重复

执⾏需求
—— 跟媳妇承认错误,说⼀万遍"媳妇⼉,我错了" print("媳妇⼉,我错了") print("媳妇⼉,我错了") print("媳妇⼉,我错了") ...(还有99997)...


2.1  while 语句基本语法
变量设置初始值while 条件(判断 变量是否满⾜条件): 条件满⾜时,做的事情1条件满⾜时,做的事情2 条件满⾜时,做的事情3...(省略)...修改变量
注意:  while 语句中的缩进部分是⼀个 独⽴的代码块 第⼀个 while 循环使⽤循环语句⼀句话搞定
# 1. 定义重复次数计数器i = 1 # 2. 使⽤ while 判断条件while i <= 10000:# 要重复执⾏的代码print("媳妇⼉,我错了")# 处理计数器 i i = i + 1

死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!

2.2赋值运算符
Python 中,使⽤ = 可以给变量赋值
在算术运算时,为了简化代码的编写, Python 还提供了⼀系列的 与 算术运算符 对应的 赋值运算符
注意:赋值运算符中间不能使⽤空格

运算符        描述        实例
=        简单的赋值运算符        c = a + b a + b 的运算结果赋值为 c
+=        加法赋值运算符        c += a 等效于 c = c + a
-=        减法赋值运算符        c -= a 等效于 c = c - a
*=        乘法赋值运算符        c = a 等效于 c = c a
/=        除法赋值运算符        c /= a 等效于 c = c / a
//=        取整除赋值运算符        c //= a 等效于 c = c // a
%=         (余数)赋值运算符        c %= a 等效于 c = c % a
**=        幂赋值运算符        c = a 等效于 c = c a


2.3Python 中的计数⽅法常⻅的计数⽅法有两种,可以分别称为: ⾃然计数法(从 1 开始)—— 更符合⼈类的习惯程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则 循环 的计数都从 0 开始 2.4循环计算在程序开发中,通常会遇到 利⽤循环 重复计算 的需求需求计算 0 ~ 100 之间所有数字的累计求和结果
i = 1sum = 0while i <= 100: sum = sum + i
i += 1print("1~100的累积和为:%d"%sum)
需求进阶计算 0 ~ 100 之间 所有 偶数 的累计求和结果
i = 1sum =  0 while i<=100:if i % 2 == 0: sum = sum + ii+=1
03.break continue   break continue 是专⻔在循环中使⽤的关键字   break 某⼀条件满⾜时,不再执⾏循环体中后续重复的代码,并退出循环  continue 某⼀条件满⾜时,不再执⾏本次循环体中后续重复的代码,但进⼊下⼀次循环判断



3.1break 在循环过程中,如果 某⼀个条件满⾜后,不 再希望 循环继续执⾏,可以使⽤ break 退出循环
i = 0 while i < 10: # break 某⼀条件满⾜时,退出循环,不再执⾏后续重复的代码# i == 3if i == 3:break print(i) i += 1print("over")


3.2continue
在循环过程中,如果 某⼀个条件满⾜后,不 希望 执⾏本次循环代码,但是⼜不希望退出循环,可以使⽤ continue


也就是:在整个循环中,只有某些条件,不需要执⾏循环代码,⽽其他条件都需要执⾏

i = 0 while i < 10: # i == 7 时,不希望执⾏需要重复执⾏的代码if i == 7:# 在使⽤ continue 之前,同样应该修改计数器# 否则会出现死循环i += 1 continue # 重复执⾏的代码print(i) i += 1
   需要注意:使⽤ continue 时,条件处理部分的代码,需要特别注意,不⼩⼼会出现 死循环


04.  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
while row <= 5: print("*" * row)
row += 1
2 步:使⽤循环嵌套打印⼩星星知识点 print 函数的使⽤做⼀个增强在默认情况下, print 函数输出内容之后,会⾃动在内容末尾增加换⾏如果不希望末尾增加换⾏,可以在 print 函数输出内容的后⾯增加 , end=""其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容语法格式如下:
# 向控制台输出内容结束之后,不会换⾏print("*", end="") # 单纯的换⾏print("")

end="" 表示向控制台输出内容结束之后,不会换⾏假设 Python 没有提供 字符串的 * 操作 拼接字符串需求在控制台连续输出五⾏ * ,每⼀⾏星号的数量依次递增
***************

开发步骤
1> 完成 5 ⾏内容的简单输出
2> 分析每⾏内部的 * 应该如何处理?
每⾏显示的星星和当前所在的⾏数是⼀致的
嵌套⼀个⼩的循环,专⻔处理每⼀⾏中 的星星显示

          row = 1
        while row <= 5: # 假设 python 没有提供字符串 * 操作# 在循环内部,再增加⼀个循环,实现每⼀⾏的 星星 打印col = 1 while col <= row: print("*", end="") col += 1 # 每⼀⾏星号输出完成后,再增加⼀个换⾏print("") row += 1
3 步: 九九乘法表需求 输出 九九乘法表,格式如下:
1 * 1 = 1                              
1 * 2 = 2        2 * 2 = 4   
1 * 3 = 3        2 * 3 = 6       3 * 3 = 9      
1 * 4 = 4        2 * 4 = 8        3 * 4= 12       4 * 4= 16           
1 * 5 = 5        2 * 5 = 10       3 * 5= 15       4 * 5 = 20           5 * 5= 25      
1 * 6 = 6        2 * 6 = 12     3 * 6= 18       4 * 6 = 24           5* 6= 30        6* 6= 36                           
1 * 7 = 7        2 * 7= 14      3 * 7= 21      4 * 7= 28           5* 7= 35        6* 7= 42         7* 7= 49                                             
1 * 8 = 8        2 * 8 = 16     3 * 8= 24       4 * 8= 32           5* 8= 40        6* 8= 48         7* 8= 56        8* 8= 64                                                   
1 * 9 = 9        2 * 9 = 18     3 * 9= 27       4 * 9= 36           5* 9= 45        6* 9= 54         7* 9= 63         8* 9= 72     9* 9= 81            


字符串中的转义字符  \t 在控制台输出⼀个 制表符,协助在输出⽂本时 垂直⽅向 保持对⻬,但不会换⾏  \n 在控制台输出⼀个 换⾏符制表符 的功能是在不使⽤表格的情况下在 垂直⽅向 按列对⻬⽂本 转义字符        描述\        反斜杠符号\'        单引号\"        双引号\n        换⾏\t        横向制表符\r        回⻋开发步骤
1.打印 9 ⾏⼩星星
*********************************************
1. 将每⼀个 * 替换成对应的⾏与列相乘
# 定义起始⾏row = 1 # 最⼤打印 9 while row <= 9:# 定义起始列col = 1 # 最⼤打印 row while col <= row:

# end = "",表示输出结束后,不换⾏
# "\t" 可以在控制台输出⼀个制表符,协助在输出⽂本时对⻬
print("%d * %d = %d" % (col, row, row * col), end="\t")

# 列数 + 1 col += 1

# ⼀⾏打印完成的换⾏
print("")

# ⾏数 + 1 row += 1

注意:break在嵌套循环中,只对最近的⼀层循环起作⽤

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马