一、while循环的基本语法
在Python中,while循环的语法非常简单,基本格式如下:
while 条件:
循环体
其中,条件是一个布尔表达式,表示循环的条件;循环体是要重复执行的代码块。
while循环执行的过程如下:
- 首先判断条件是否为True,如果为False,则跳过循环体,直接执行循环后面的代码;
- 如果条件为True,则执行循环体中的代码;
- 执行完循环体后,再次判断条件是否为True,如果为True,则再次执行循环体,否则跳过循环体;
- 重复上述过程,直到条件为False为止。
通过while循环,我们可以很方便地对某个代码块进行重复执行,直到满足某个条件为止。
下面是一个简单的例子,使用while循环实现1到5的累加:
n = 1
sum = 0
while n <= 5:
sum += n
n += 1
print(sum)
输出结果为:
15
在上面的代码中,首先设置了n和sum两个变量分别用于存储当前的数值和总和。然后,在while循环中,我们不断将n的值加1,并将其加入到sum中,直到n的值大于5为止。
二、while循环的高级用法
1. while循环嵌套
在Python中,while循环也可以进行嵌套。嵌套的while循环执行过程与单层的while循环相同,只是在循环体中又包含了一层循环。
下面是一个嵌套循环的例子,实现了1~4的乘法表:
i = 1
while i <= 4:
j = 1
while j <= i:
print(f"{i}*{j}={i*j}", end="\t")
j += 1
print()
i += 1
输出结果为:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
在上面的代码中,外层的while循环用于循环行数,内层的while循环用于循环列数。在内部循环中,我们使用了一个参数end="\t",表示在每个元素后面加上一个制表符,以便打印出美观的乘法表。
2. 程序中加入用户交互
在实际开发中,我们通常会希望与用户进行交互。可以使用while循环来实现这个需求,在用户输入不正确的情况下,一直提示用户重新输入。
下面是一个例子,实现了一个加法运算器:
print("=======计算器=======")
while True:
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
op = input("请输入运算符(+、-、*、/):")
if op == "+":
print(f"{num1}+{num2}={num1+num2}")
elif op == "-":
print(f"{num1}-{num2}={num1-num2}")
elif op == "*":
print(f"{num1}*{num2}={num1*num2}")
elif op == "/":
if num2 == 0:
print("除数不能为0")
else:
print(f"{num1}/{num2}={num1/num2}")
else:
print("运算符输入错误,请重新输入")
choice = input("是否继续运算?(Y/N):")
if choice != "Y" and choice != "y":
break
print("谢谢使用!")
在代码中,我们首先输出了一个简单的欢迎语句。然后,使用while True语句进行无限循环,只有当用户输入N或n时,才会停止循环。
在循环体中,首先使用input()函数接受用户的输入,并使用float()函数将字符串转换为实数。然后,使用if-elif-else语句进行运算,根据不同的运算符执行不同的操作。如果用户输入的是错误的运算符,那么程序会输出错误提示信息,并要求用户重新输入。
在每次运算后,程序会询问用户是否继续运算。如果用户输入的是N或n,则使用break语句退出循环,输出一条感谢消息。
3. break和continue语句的使用
Python中的break和continue语句可以用于控制循环的流程。其中,break语句用于结束当前循环,continue语句用于跳过当前的循环。
下面是一个例子,使用break语句跳出循环:
n = 0
while True:
print(n)
n += 1
if n == 5:
break
print("循环结束")
输出结果为:
0
1
2
3
4
循环结束
在上面的代码中,我们使用了一个while True语句进行无限循环。然后,在每个循环中打印当前的n值,并将其加1。如果n的值等于5,则使用break语句跳出循环。
下面是一个例子,使用continue语句跳过循环:
n = 0
while n < 5:
n += 1
if n == 3:
continue
print(n)
print("循环结束")
输出结果为:
1
2
4
5
循环结束
在上面的代码中,我们使用一个while循环从1到5循环。在循环体中,如果n的值等于3,则使用continue语句跳过循环体中后续的代码,直接执行下一轮循环。
三、总结
通过对Python中while循环的详细讲解,我们了解到了while循环的基本语法、高级用法以及与用户交互、break/continue语句的配合使用等方面的知识。在实际开发中,我们可以根据具体的需求,灵活使用while循环来完成各种任务。
下面是本文中所有代码的完整示例:
# 累加1~5
n = 1
sum = 0
while n <= 5:
sum += n
n += 1
print(sum)
# 乘法表
i = 1
while i <= 4:
j = 1
while j <= i:
print(f"{i}*{j}={i*j}", end="\t")
j += 1
print()
i += 1
# 加法运算器
print("=======计算器=======")
while True:
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
op = input("请输入运算符(+、-、*、/):")
if op == "+":
print(f"{num1}+{num2}={num1+num2}")
elif op == "-":
print(f"{num1}-{num2}={num1-num2}")
elif op == "*":
print(f"{num1}*{num2}={num1*num2}")
elif op == "/":
if num2 == 0:
print("除数不能为0")
else:
print(f"{num1}/{num2}={num1/num2}")
else:
print("运算符输入错误,请重新输入")
choice = input("是否继续运算?(Y/N):")
if choice != "Y" and choice != "y":
break
print("谢谢使用!")
# break语句
n = 0
while True:
print(n)
n += 1
if n == 5:
break
print("循环结束")
# continue语句
n = 0
while n < 5:
n += 1
if n == 3:
continue
print(n)
print("循环结束")