欢迎光临
我们一直在努力

条件与循环:写出有逻辑的 Python 程序

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

1. 引言

程序的核心价值在于「根据条件做选择、按规律重复执行」。Python 中的条件语句(if/elif/else)与循环语句(while/for)正是实现这一逻辑的基础工具。本文将从零开始,带你掌握条件判断、循环控制、以及两个经典实战案例(猜数字、九九乘法表),帮助你写出真正有逻辑的 Python 程序。

2. 条件语句:if / elif / else

2.1 基本语法

Python 使用缩进来表示代码块,条件语句的基本结构如下:

age = 18
if age >= 18:
print("成年人")

当 age >= 18 为 True 时,缩进的代码块才会执行。

2.2 if / else 双分支

score = 60
if score >= 60:
print("及格")
else:
print("不及格")

2.3 if / elif / else 多分支

当需要判断多个条件时,使用 elif(即 else if 的缩写):

score = 85
if score >= 90:
grade = "优秀"
elif score >= 80:
grade = "良好"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
print(f"成绩等级:{grade}")

注意:条件判断是从上到下依次执行的,一旦某个条件成立,后面的 elif 和 else 都不会再执行。

2.4 条件表达式(三元运算符)

Python 支持一行式的条件赋值:

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)

3. while 循环

while 循环在条件为 True 时反复执行代码块,直到条件变为 False。

3.1 基本用法

count = 1
while count <= 5:
print(f"第 {count} 次循环")
count += 1 # 千万别忘记更新计数器,否则会死循环

3.2 死循环与退出

如果条件永远为 True,程序会陷入死循环。此时可以用 break 跳出:

while True:
command = input("输入 q 退出:")
if command == "q":
break
print(f"你输入了:{command}")

4. for 循环与 range

for 循环适合遍历序列(列表、字符串、元组等),配合 range() 可以轻松实现「重复 N 次」。

4.1 遍历列表

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)

4.2 range 的三种用法

# range(stop):从 0 到 stop-1
for i in range(5):
print(i) # 输出 0 1 2 3 4

# range(start, stop):从 start 到 stop-1
for i in range(2, 6):
print(i) # 输出 2 3 4 5

# range(start, stop, step):带步长
for i in range(1, 10, 2):
print(i) # 输出 1 3 5 7 9

4.3 遍历字符串

for ch in "Python":
print(ch)

5. break 与 continue

break 用于立即终止整个循环;continue 用于跳过本次循环,进入下一次迭代。

# break:找到目标后立即停止
for i in range(1, 10):
if i == 5:
break
print(i) # 输出 1 2 3 4

# continue:跳过偶数
for i in range(1, 8):
if i % 2 == 0:
continue
print(i) # 输出 1 3 5 7

6. 嵌套循环

循环内部再嵌套循环,常用于处理二维结构(如矩阵、乘法表)。

for i in range(1, 4):
for j in range(1, 4):
print(f"({i}, {j})", end=" ")
print() # 换行

输出结果:

(1, 1) (1, 2) (1, 3)
(2, 1) (2, 2) (2, 3)
(3, 1) (3, 2) (3, 3)

7. 实战案例一:猜数字游戏

综合运用 while、if/elif/else、break,实现一个经典的猜数字小游戏:

import random

target = random.randint(1, 100)
guess_count = 0

while True:
guess = int(input("请输入你猜的数字(1-100):"))
guess_count += 1

if guess < target:
print("太小了,再大一点!")
elif guess > target:
print("太大了,再小一点!")
else:
print(f"恭喜你!猜对了,答案是 {target},共猜了 {guess_count} 次。")
break

8. 实战案例二:九九乘法表

使用嵌套 for 循环,一行代码输出完整的九九乘法表:

for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j} × {i} = {i * j}", end="\\t")
print()

输出效果:

1 × 1 = 1
1 × 2 = 22 × 2 = 4
1 × 3 = 32 × 3 = 63 × 3 = 9
…

9. 总结

  • if/elif/else 用于分支选择,条件从上到下依次判断。
  • while 适合条件未知的重复,for 适合遍历序列或固定次数的重复。
  • range() 灵活控制循环次数与步长。
  • break 终止循环,continue 跳过本次迭代。
  • 嵌套循环可以处理二维结构,注意控制缩进层级。

掌握条件与循环,你就掌握了程序「做决策」和「重复执行」两大核心能力。接下来可以尝试把猜数字游戏加上「最多猜 10 次」的限制,或者把九九乘法表改成倒序输出,动手练一练吧!

赞(0)
未经允许不得转载:171主机测评 » 条件与循环:写出有逻辑的 Python 程序
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址