Python的顺序结构和循环结构

文章目录


一、条件语句

(1)条件语句的定义

条件语句能够表达 "如果 ... 否则 ... " 这样的语义. 这构成了计算机中基础的 逻辑判定。

条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向。

(2)条件语句的语法

(a)单分支 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

(b)双分支 if-else

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

如果 expression 值为 True, 则执行 do_something1

如果 expression 值为 False, 则执行 do_something2

(c)多分支 if-elif-elif-...-else

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

如果 expression1 值为 True, 则执行 do_something1

如果 expression1 值为 False, 并且 expression2True执行 do_something2

如果 expression1 值为 False, 并且 expression2False执行 do_something3

(3)注意事项

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

(4)空语句 pass

输入一个数字, 如果数字为 1, 则打印 hello

python 复制代码
# 提示用户输入一个整数,并使用int()函数将输入的字符串转换为整数
a = int(input("请输入一个整数:"))

# 使用if语句判断输入的整数是否等于1
if a == 1:
    # 如果输入的整数等于1,打印消息"hello"
    print("hello")

这个代码也可以等价写成

python 复制代码
# 提示用户输入一个整数,并使用int()函数将输入的字符串转换为整数
a = int(input("请输入一个整数:"))

# 使用if-else语句判断输入的整数是否不等于1
if a != 1:
    # 如果输入的整数不等于1,使用pass语句,表示什么也不做
    pass
else:
    # 如果输入的整数等于1,打印消息"hello"
    print("hello")

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求。

(5)示例

python 复制代码
# 输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂
choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
if choice == "1":
    print("你会找到好工作!")
elif choice == "2":
    print("你可能毕业就失业了!")
else:
    print("你的输入有误!")

二、循环语句

(1)循环语句的定义

Python中,循环语句是用来重复执行一段代码多次的一种控制流结构。最常用的是for循环和while循环。

(2) while 循环

(a) 语法

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

(b)示例

计算 1-100 的和

python 复制代码
# 初始化变量,用于存储累加的总和
theSum = 0
# 初始化变量,用于表示当前的数字,从1开始
num = 1

# 使用while循环,当num小于或等于100时,继续执行循环
while num <= 100:
    # 将当前的num值加到theSum中,实现累加
    theSum += num
    # 将num的值加1,准备下一次循环
    num += 1

# 循环结束后,打印最终累加的结果
print(f'theSum = {theSum}')

运行截图:

求 1! + 2! + 3! + 4! + 5!

python 复制代码
# 初始化变量num,从1开始,表示当前要计算阶乘的数字
num = 1
# 初始化变量sum,用于存储累加的阶乘结果
sum = 0

# 外层while循环:当num小于或等于5时,继续执行循环
while num <= 5:
    # 初始化变量factorResult,用于存储当前数字num的阶乘结果
    factorResult = 1
    # 初始化变量i,用于计算阶乘时的循环控制
    i = 1

    # 内层while循环:计算当前数字num的阶乘
    while i <= num:
        # 将i的值乘到factorResult中,逐步计算阶乘
        factorResult *= i
        # 将i的值加1,准备下一次循环
        i += 1

    # 将计算得到的阶乘结果factorResult累加到sum中
    sum += factorResult
    # 将num的值加1,准备计算下一个数字的阶乘
    num += 1

# 在所有计算完成后,打印最终的sum值
print(sum)

(3) range 函数

(a) 语法

python 复制代码
range(start, stop, step)

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如 range(5) 等价于range(0,5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有5。
  • step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)。

(b)示例

python 复制代码
range(10)        # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1, 11)     # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]

range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]

range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

(4) for 循环

(a) 语法

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

注意:

所谓的 "可迭代对象", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"。

(b)示例

打印 2, 4, 6, 8, 10

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

运行截图:

(5)continue语句

continue 表示结束这次循环,进入下次循环。

示例

python 复制代码
# 使用for循环遍历从1到5的数字(不包括6)
for i in range(1, 6):
    # 在循环中,检查当前的数字i是否等于3
    if i == 3:
        # 如果i等于3,使用continue语句跳过当前循环的剩余部分,直接进入下一次循环
        continue
    # 如果i不等于3,打印当前的数字i,并附带一条消息
    print(f"吃完第{i}个包子")

运行截图:

(6)break语句

break 表示结束整个循环。

示例

python 复制代码
# 使用for循环遍历从1到5的数字(不包括6)
for i in range(1, 6):
    # 在循环中,检查当前的数字i是否等于3
    if i == 3:
        # 如果i等于3,使用break语句提前终止循环
        break
    # 如果i不等于3,打印当前的数字i,并附带一条消息
    print(f"吃完第{i}个包子")

运行截图:


END

每天都在学习的路上!
On The Way Of Learning

相关推荐
金融OG11 分钟前
100.13 AI量化面试题:支持向量机(SVM)如何处理高维和复杂数据集?
人工智能·python·算法·机器学习·支持向量机·数学建模·金融
不能只会打代码40 分钟前
Python人工智能技术全景:从基础框架到DeepSeek的突破性创新
开发语言·人工智能·python·deepseek
清风吹雨泡泡1 小时前
HCIA-10.生成树 STP 3/3
开发语言·php
pink大呲花1 小时前
利用ES6 Set去重
开发语言·javascript·es6
蓝色洛特1 小时前
【matlab优化算法-17期】基于DBO算法的微电网多目标优化调度
开发语言·算法·matlab
GISer Liu2 小时前
使用DeepSeek构建Camel多智能体框架:基本环境配置
人工智能·python·机器学习·datawhale·camel·aiagent·deepseek
天天进步20152 小时前
Java全栈项目实战:在线课程评价系统开发
java·开发语言
ONE_PUNCH_Ge2 小时前
Python 量化
开发语言·python
Mr-Wanter2 小时前
使用 JFreeChart 创建动态图表:从入门到实战
开发语言·python·信息可视化