速通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)
相关推荐
PieroPc28 分钟前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439693 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_4 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04294 小时前
python常用内建模块:collections
python
高山我梦口香糖5 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣6 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客6 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
蓝天星空6 小时前
Python调用open ai接口
人工智能·python