当前位置: 首页 > article >正文

速通Python 第三节

一、顺序语句

默认情况下 , Python 的代码执行顺序是按照从上到下的顺序 , 依次执行
print("1")
print("2")
print("3")
执行结果一定为 "123", 而不会出现 "321" 或者 "132" . 这种按照顺序执行的代码 , 我们称为 顺序语句 .

二、条件语句

什么是条件语句

条件语句能够表达 " 如果 ... 否则 ..." 这样的语义 . 这构成了计算机中基础的 逻辑判定 .
条件语句 也叫做 分支语句 , 表示了接下来的逻辑可能有几种走向。
例如:
如果 我认真敲代码
   我就很容易找到工作
否则
   我就容易毕业就失业
其中 " 我认真敲代码 " 称为 条件 . 如果条件成立 ( 条件为真 ), 则会出现 " 我就很容易找到工作 " 这个情况 . 如 果条件不成立( 条件为假 ), 则会出现 " 我就容易毕业就失业 ".

三、语法格式

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

(1) if

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

if expression:
 do_something1
else:
 do_something2

如果 expression 值为 True, 则执行 do_something1

如果 expression 值为 False, 则执行 do_something2

(3) if - elif - else

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 中使用缩进表示代码块 . 不同级别的缩进 , 程序的执行效果是不同的
我们来看看下面两段代码
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")
这两代码的区别 .
上面的代码 , print("world") 有一级缩进 , 这个语句属于 if 内的代码块 , 意味着条件成立 , 才执行 , 条件不成立, 则不执行 .
下面的代码中 , print("world") 没有缩进 , 这个语句是 if 外部的代码 , 不属于 if 内部的代码块 . 意味着条件
无论是否成立 , 都会执行 .
另外 , 代码块内部还可以嵌套代码块
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 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差)
同时 , 带来的坏处就是 , 如果缩进层次比较多 , 就容易分不清楚某个语句属于哪个层级
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
a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")

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

a = int(input("请输入一个整数:"))
if a != 1:
 pass
else:
    print("hello")
其中 pass 表示 空语句 , 并不会对程序的执行有任何影响 , 只是占个位置 , 保持 Python 语法格式符合要求.
如果代码像C++那样写作
a = int(input("请输入一个整数:"))
if a != 1:
else:
print("hello")
是不符合 Python 语法的 , 会直接报错 .

六、循环语句

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

1.while 循环

基本语法格式

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

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

代码示例如下:

num = 1
while num <= 10:
    print(num)
    num += 1

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

代码示例如下:

sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum)

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

代码示例如下:

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 循环

基本语法格式

for 循环变量 in 可迭代对象:
    循环体

注意:

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

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

for i in range(1, 11):
    print(i)
使用 range 函数 , 能够生成一个可迭代对象 . 生成的范围是 [1, 11), 左闭右开, 也就是 [1, 10]
我们也可通过range打印印 2, 4, 6, 8, 10
for i in range(2, 12, 2):
    print(i)
通过 range 的第三个参数 , 可以指定迭代时候的 " 步长 ". 也就是一次让循环变量加几 .
因此我们也可以 打印 10-1
for i in range(10, 0, -1):
    print(i)
注意:range 的 步长 也可以设定成负数

3.continue

continue 表示结束这次循环 , 进入下次循环 .
例如打印1,2,4,5
for i in range(1, 6):
    if i == 3:
        continue
    print(i)

4.break

break 表示结束整个循环
例如:
输入若干个数字 , 求平均值 . 使用 " 分号 " 作为结尾
sum = 0
count = 0
while True:
    num = input("请输入数字:")
    if num == ';':
        break
    num = float(num)
    sum += num
    count += 1
print(sum / count)


http://www.kler.cn/a/448625.html

相关文章:

  • Debian11 安装MYSQL8 签名错误
  • 【QSS样式表 - ⑤】:QLineEdit控件样式
  • 【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等
  • uniapp开发app,cover-view不能隐藏,使用v-if,v-show都不行的解决办法
  • 阿里云虚拟主机ecs镜像如何转移到本地virtualbox上
  • 多屏幕编程时用pygame指定窗口出现在第二块显示器上的方法
  • MySQL使用LOAD DATA INFILE方式导入文本文件
  • 力扣-图论-17【算法学习day.67】
  • DCN-DCN路由器online_list.php存在任意文件读取漏洞
  • c++-----------------多态
  • 遗传算法特征筛选和GA-BP
  • 构建lib项目-vite,rollup
  • MyBatis的面试题以及详细解答二
  • Linux之搜索类命令
  • 【学习笔记】数据结构(九)
  • docker run 命令参数
  • linux 安装 ffmpeg 视频转换
  • Leetcode - 周赛428
  • React性能分析: 使用React Profiler工具
  • 【Java基础面试题027】Java的StringBuilder是怎么实现的?
  • Redis篇--常见问题篇7--缓存一致性2(分布式事务框架Seata)
  • QtitanChart组件——高效、灵活的Qt数据可视化解决方案
  • 项目搭建+姓名唯一性校验
  • CTF入门:以Hackademic-RTB1靶场为例初识夺旗
  • JavaIO 在 Android 中的应用
  • 基于三维先验知识的自监督医学图像分割方法