Python入门:流程控制练习
本文将介绍Python中流程控制的基础知识,包括条件判断和循环结构,并提供多个实用示例帮助初学者快速掌握这些概念。所有代码都使用基础语法,非常适合Python新手学习。
1. 简单条件判断:
编写一个程序,要求用户输入一个整数,判断该数是正数、负数还是零,并输出相应的结果。
这个程序要求用户输入一个整数,然后判断该数是正数、负数还是零:
num = int(input('请输入一个整数:'))
if num > 0:print('正数')
elif num < 0:print('负数')
else:print('零')
代码说明:
-
input()
函数获取用户输入 -
int()
将输入转换为整数 -
if/elif/else
结构进行条件判断
2. 成绩等级判断:
编写一个程序,要求用户输入一个成绩(0-100之间的整数),根据成绩输出对应的等级: 90分以上为A 80-89分为B 70-79分为C 60-69分为D 60分以下为E
grade = int(input('请输入成绩(0-100):'))
if grade > 100 or grade < 0:print('成绩无效,请输入0-100之间的数字')
elif grade >= 90:print('A')
elif grade >= 80:print('B')
elif grade >= 70:print('C')
elif grade >= 60:print('D')
else:print('E')
代码说明:
-
首先检查输入是否在有效范围内
-
使用
elif
进行多条件判断 -
注意条件的顺序是从高到低
3. 猜数字游戏
编写一个程序,随机生成一个1到100之间的整数,让用户猜这个数字。
如果用户猜的数字比目标数字大,输出“太大了”;如果比目标数字小,输出“太小了”;如果猜中了,输出“恭喜你,猜对了!”并结束程序。
import randomtarget = random.randint(1, 100)
while True:guess = int(input('请猜一个1-100的数字:'))if guess < target:print('太小了')elif guess > target:print('太大了')else:print('恭喜你猜对了!')break
代码说明:
-
random.randint()
生成随机数 -
while True
创建无限循环 -
break
在猜对时退出循环
4. 计算阶乘
编写一个程序,要求用户输入一个正整数,使用while循环计算该数的阶乘并输出结果。
num = int(input('请输入一个正整数:'))
result = 1
i = 1
while i <= num:result *= ii += 1
print(f'{num}的阶乘是:{result}')
代码说明:
-
初始化
result
为1 -
while
循环从1乘到输入的数字 -
*=
是累乘的简写形式
5. 累加求和
编写一个程序,要求用户输入一个正整数n,使用while循环计算1到n的所有整数的和并输出结果。
n = int(input('请输入一个正整数:'))
total = 0
i = 1
while i <= n:total += ii += 1
print(f'1到{n}的和是:{total}')
代码说明:
-
类似阶乘计算,但使用累加
-
+=
是累加的简写形式
6. 判断素数
编写一个程序,要求用户输入一个正整数,判断该数是否为素数(质数),并输出相应的结果。
num = int(input('请输入一个正整数:'))
if num <= 1:print('不是素数')
else:is_prime = Truei = 2while i * i <= num:if num % i == 0:is_prime = Falsebreaki += 1print('是素数' if is_prime else '不是素数')
代码说明:
-
素数定义:大于1且只能被1和自身整除的数
-
只需检查到√num即可
-
使用
break
提前结束循环
7. 九九乘法表
编写一个程序,使用while循环打印出九九乘法表。
i = 1
while i <= 9:j = 1while j <= i:print(f"{j}×{i}={j*i}", end="\t")j += 1print()i += 1
代码说明:
-
外层循环控制行数
-
内层循环控制每行的列数
-
end="\t"
使输出对齐
8. 数字反转
编写一个程序,要求用户输入一个正整数,使用while循环将该数字反转并输出结果。例如,输入1234,输出4321。
num = int(input('请输入一个正整数:'))
reversed_num = 0
while num > 0:reversed_num = reversed_num * 10 + num % 10num = num // 10
print('反转后的数字:', reversed_num)
代码说明:
-
num % 10
获取最后一位数字 -
num // 10
去掉最后一位 -
通过循环构建反转后的数字
9. 最大公约数
编写一个程序,要求用户输入两个正整数,使用while循环计算这两个数的最大公约数(GCD)并输出结果。
a = int(input('请输入第一个正整数:'))
b = int(input('请输入第二个正整数:'))
while b != 0:a, b = b, a % b
print('最大公约数是:', a)
代码说明:
-
使用欧几里得算法
-
a, b = b, a % b
是Python的多重赋值 -
当b为0时,a就是最大公约数
总结
本文通过9个实用示例介绍了Python中的流程控制结构,包括:
-
条件判断(
if/elif/else
) -
循环结构(
while
) -
循环控制(
break
)
这些基础概念是Python编程的核心,掌握它们将为学习更复杂的内容打下坚实基础。建议读者亲自尝试每个示例,并尝试修改代码以加深理解。