速通Python 第三节

一、顺序语句

默认情况下 , Python 的代码执行顺序是按照从上到下的顺序 , 依次执行

python 复制代码
print("1")
print("2")
print("3")

执行结果一定为 "123", 而不会出现 "321" 或者 "132" 等 . 这种按照顺序执行的代码 , 我们称为 顺序语句 .

二、条件语句

什么是条件语句

条件语句能够表达 " 如果 ... 否则 ..." 这样的语义 . 这构成了计算机中基础的 逻辑判定 .
条件语句 也叫做 分支语句 , 表示了接下来的逻辑可能有几种走向。
例如:

python 复制代码
如果 我认真敲代码
   我就很容易找到工作
否则
   我就容易毕业就失业

其中 " 我认真敲代码 " 称为 条件 . 如果条件成立 ( 条件为真 ), 则会出现 " 我就很容易找到工作 " 这个情况 . 如 果条件不成立( 条件为假 ), 则会出现 " 我就容易毕业就失业 ".

三、语法格式

python 中使用 if else 关键字表示条件语句 .

(1) if

python 复制代码
if expression:
 do_something1
 do_something2
next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2) if - else

python 复制代码
if expression:
 do_something1
else:
 do_something2

如果 expression 值为 True, 则执行 do_something1

如果 expression 值为 False, 则执行 do_something2

(3) if - elif - else

python 复制代码
if expression1:
 do_something1
elif expression2:
 do_something2
else:
 do_something3

如果 expression1 值为 True, 则执行 do_something1

如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意**:**Python中的条件语句写法, 和很多编程语言不太一样.

  • if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
  • if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了).

四、缩进和代码块

代码块 指的是一组放在一起执行的代码 .
在 Python 中使用缩进表示代码块 . 不同级别的缩进 , 程序的执行效果是不同的
我们来看看下面两段代码

python 复制代码
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
python 复制代码
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")

这两代码的区别 .
上面的代码 中 , print("world") 有一级缩进 , 这个语句属于 if 内的代码块 , 意味着条件成立 , 才执行 , 条件不成立, 则不执行 .
下面的代码中 , print("world") 没有缩进 , 这个语句是 if 外部的代码 , 不属于 if 内部的代码块 . 意味着条件
无论是否成立 , 都会执行 .
另外 , 代码块内部还可以嵌套代码块

python 复制代码
a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
    if b == "2":
        print("hello")
    print("world")
print("python")

在这个代码中 ,

  • print("hello") 具有两级缩进, 属于 if b == "2" 条件成立的代码块.
  • print("world") 具有一级缩进, 属于 if a == "1" 条件成立的代码块.
  • print("python") 没有缩进, 无论上述两个条件是否成立, 该语句都会执行
    基于缩进的方式表示代码块 , 带来的好处就是强制要求程序猿要写明确的缩进 , 来明确代码之间的相对关系. 如果缩进书写的不对 , 则直接报错. (不像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差)
    同时 , 带来的坏处就是 , 如果缩进层次比较多 , 就容易分不清楚某个语句属于哪个层级
python 复制代码
if a == 1:
    if b == 2:
        if c == 3:
            if d == 4:
                if e == 5:
                    if f == 6:
                        if g == 7:
                   print("hello")
                    print("1")
     print("2")

因此 , 就有了 " 写 Python 需要自备游标卡尺 " 这个梗 .

五、空语句****pass

代码示例 : 输入一个数字 , 如果数字为 1, 则打印 hello

python 复制代码
a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")

我们也可以通过空语句改写成

python 复制代码
a = int(input("请输入一个整数:"))
if a != 1:
 pass
else:
    print("hello")

其中 pass 表示 空语句 , 并不会对程序的执行有任何影响 , 只是占个位置 , 保持 Python 语法格式符合要求.
如果代码像C++那样写作

python 复制代码
a = int(input("请输入一个整数:"))
if a != 1:
else:
print("hello")

是不符合 Python 语法的 , 会直接报错 .

六、循环语句

有些操作是需要反复执行的 . 这种就需要使用循环

1.while****循环

基本语法格式

python 复制代码
while 条件:
    循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假, 则结束循环

那么大家现在试着通过循环打印1-10吧

代码示例如下:

python 复制代码
num = 1
while num <= 10:
    print(num)
    num += 1

我们也可以试着计算 1-100 的和

代码示例如下:

python 复制代码
sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)

下面增加难度,请大家用代码计算1! + 2! + 3! + 4! + 5!

代码示例如下:

python 复制代码
num = 1
sum = 0
while num <= 5:
    factorResult = 1
    i = 1
    while i <= num:
        factorResult *= i
        i += 1
    sum += factorResult
    num += 1
print(sum)

该程序用到了两重循环.,循环语句中也可以套循环

2.for****循环

基本语法格式

python 复制代码
for 循环变量 in 可迭代对象:
    循环体

注意**:**

  • python 的 for 和其他语言不同, 没有 "初始化语句", "循环条件判定语句", "循环变量更新语句", 而是更加简单
  • 所谓的 "可迭代对象**:**打印 1-10", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"

我们可以通过这个循环打印 1-10

python 复制代码
for i in range(1, 11):
    print(i)

使用 range 函数 , 能够生成一个可迭代对象 . 生成的范围是 [1, 11), 左闭右开, 也就是 [1, 10]
我们也可通过range打印印 2, 4, 6, 8, 10

python 复制代码
for i in range(2, 12, 2):
    print(i)

通过 range 的第三个参数 , 可以指定迭代时候的 " 步长 ". 也就是一次让循环变量加几 .
因此我们也可以 打印 10-1

python 复制代码
for i in range(10, 0, -1):
    print(i)

注意:range 的 步长 也可以设定成负数

3.continue

continue 表示结束这次循环 , 进入下次循环 .
例如打印1,2,4,5

python 复制代码
for i in range(1, 6):
    if i == 3:
        continue
    print(i)

4.break

break 表示结束整个循环
例如:
输入若干个数字 , 求平均值 . 使用 " 分号 " 作为结尾

python 复制代码
sum = 0
count = 0
while True:
    num = input("请输入数字:")
    if num == ';':
        break
    num = float(num)
    sum += num
    count += 1
print(sum / count)
相关推荐
可涵不会debug1 分钟前
C语言文件操作:标准库与系统调用实践
linux·服务器·c语言·开发语言·c++
深蓝海拓17 分钟前
Pyside6(PyQT5)中的QTableView与QSqlQueryModel、QSqlTableModel的联合使用
数据库·python·qt·pyqt
无须logic ᭄25 分钟前
CrypTen项目实践
python·机器学习·密码学·同态加密
百流37 分钟前
scala文件编译相关理解
开发语言·学习·scala
Channing Lewis38 分钟前
flask常见问答题
后端·python·flask
Channing Lewis39 分钟前
如何保护 Flask API 的安全性?
后端·python·flask
水兵没月2 小时前
钉钉群机器人设置——python版本
python·机器人·钉钉
Evand J2 小时前
matlab绘图——彩色螺旋图
开发语言·matlab·信息可视化
我想学LINUX3 小时前
【2024年华为OD机试】 (A卷,100分)- 微服务的集成测试(JavaScript&Java & Python&C/C++)
java·c语言·javascript·python·华为od·微服务·集成测试