while:
# 循环
# 循环就是重复性的执行一件相同或者相似的事情多次
# 缺点:每行代码完全一致,造成了代码重复
# 重要原则:写程序的时候,要尽可能避免代码重复。因为在以后需求变更时,所有重复性的代码都需要
# 进行修改,不利于程序的维护
# print("****")
# print("****")
# print("****")
# print("****")
# print("****")
# while 循环
# while 表达式:
# 循环体
# 1. 对表达式进行求值,如果表达式为True,则执行循环体
# 2 重复执行步骤1,直到表达式为False,退出while循环
# times = 1
# while times <= 5:
# print("****")
# times += 1
# 循环未必总是执行完全相同的事情多次,只要事情有一定的规律,有相似性就可以
#
# value = 1
# while value <= 10:
# print(value, end = "\t")
# value += 1
# 求区间程序进行累加的求和
# start = int(input("请输入起始点:"))
# end = int(input("请输入结束点:"))
# index = start
# s = 0
# while index <= end:
# s += index
# index += 1
# print("最后的求和结果:",s)
# 求一个数的阶乘。
x = int(input("请输入一个数值:"))
s = 1
index = 1
while index <= x:
s *= index
index += 1
print("最终的结果:",s)
while-else:
# 循环跟随的else。
# while与for循环还可以跟随一个可选的else。当循环正常执行结束(没有通过break提前结束循环),
# 则会执行else语句体,否则else语句体不会得到执行。
for i in range(1, 100):
if i == -5:
break
else:
print("循环正常结束,没有通过break中断。")
number = int(input("请输入数值:"))
# 通过else可以用来判断循环是正常结束,还是通过break提前结束,进而
# 可以在else中给出不同的解决方案。
for i in range(1, 100):
if i == number:
print("找到了")
break
else:
print("没找到")
for:
# for 循环
# for 变量 in 可迭代对象:
# 循环体
# 对于可迭代对象:可依次产生一些列值的对象。
# 对于可迭代对象中的每个值,依次赋值给变量一次,然后执行一次循环体。
# range函数,可以产生一些列整数值。range函数返回的对象就是一个可迭代对象。
# 可以将range函数返回的对象用于for循环当中。
# range函数的三种形式:
# 1. range(end) 返回从0 - end 区间的值。包括0,不包括end。 [0,end)
# 2. range(start, end) 返回从start - end 区间的值。 包括start,不包括end。 [start,end)
# 3. range(start,end,step) 返回从start - end 区间的值,增量(步长)为step,如果没有指定step,则默认为1。
for i in range(5):
print(i,end=" ")
for i in range(5,10):
print(i,end=" ")
print()
for i in range(1, 20, 3):
print(i, end=" ")
print()
# 步长也可以是负数值。
for i in range(5, -3, -1):
print(i, end=" ")
print()
# 注意: 如果区间的方向与步长的方向相反,则无法获取任何元素。
for i in range(-3, 5, -1):
print(i, end=" ")
# start = int(input("请输入起始点:"))
# end = int(input("请输入终止点:"))
# s = 0
# for i in range(start, end+1):
# s += i
# print(s)
value = int(input("请输入数值:"))
s = 1
for i in range(1, value + 1):
s *= i
print(s)
for-else:
# 循环跟随的else
# while与for循环体还可以跟随一个可选的else。当循环正常执行结束(没有通过break提前结束循环),
# 则会执行else语句,否则else语句体不会得到执行。
for i in range(1,100):
if i == -5:
print("结束")
break
else:
print("循环正常结束,没有通过break中断。")
number = int(input("请输入数值:"))
# 通过else可以用来判断循环是否正常结束,还是通过break提前结束,进而
# 可以在else中给出不同的解决方案。
for i in range(1,100):
if i == number:
print("找到了")
break
else:
print("没找到")
for的嵌套:
# 循环嵌套
# 循环中,也存在着循环,这就是循环嵌套
# 当循环嵌套时,外层的循环,我们称为外循环,内部的循环,我们称为内循环。
# 外层循环每执行一次,内层循环都会完整的执行一轮。
# 如果外层循环执行M次,内层循环执行N次,
# 则总共内层循环会执行M * N 次。
for x in range(1,5):
for y in range(1,6):
print(x, y, end=" ")
print()
break:
# break
# break可以用来提前结束循环(跳出循环)。【不管循环还有多少次没有执行】
number = int(input("请输入你要查询的号码[1-99]"))
for i in range(1,100):
# print(i)
if i == number:
print("已经找到")
break
# 疑问: 我们既然使用break来提前结束循环,那为什么不在循环开始的时候,就控制循环执行的次数呢?
for i in range(1,6):
print(i)
# break 用来表示提前完成任务,或者因为某种原因,导致任务受阻,无法继续进行的情况,
# 我们就可以使用break提前结束循环。但是,在开始的时候,我们不能减少循环次数,
# 因为我们不确定任务是否会提前完成或者中途受阻,因此在初始时,需要设定最全面的循环。
# break 只能用在循环当中。
continue:
# continue的使用
# continue与break只能用在循环中。
# continue表示结束本次循环,继续下一次循环。【continue仅影响本次循环,对后续的循环没有影响】
# 面试 三轮
# for 面试者 in 面试者人群:
# 进行第一轮面试
# if 不合格:
#continue
# 进行第二轮面试:
# if 不合格:
# continue
# else:
# 入职
# continue的使用,如果在前一轮的面试中不合适,则就可以使用continue来结束本次循环。
for i in range(1, 100):
if i % 2 == 0:
print(i)
for i in range(1, 101):
if i % 2 != 0:
continue
# 其他条件
print(i)
# break与continue通常用在选择判断中,因为无条件的break与continue是没有意义的。