Python学习(六)——While、for、循环控制、指数爆炸
本文介绍了While、for、循环控制、指数爆炸,仅作为本人学习时记录,感兴趣的初学者可以一起看看,欢迎评论区讨论,一起加油鸭~~~
心中默念:Python 简单好学!!!
(有其他编程语言基础,所以记录的可能对初步接触编程的同学不太友好,有问题欢迎留言)
前言
循环结构:重复做的事情,如太阳东升西落。
While循环
- 循环的作用就是让指定的代码重复的执行
- 最常用的场景就是让执行的代码按照指定的次数重复执行
# 初始条件
n = 0
while n < 5:print('hello Python')n += 1# 高斯求和
n = 1
result = 0
while n <= 100:result += nn += 1
print(result)
for循环
for i in range(5):print('hello')# 高斯求和
result = 0
for i in range(101):result += i
print(result)# 1!+ 2!+ 3!+。。。+n!
a = 1
n = 20
result = 0
for i in range(n + 1):if i > 0:a = a * iresult = result + a
print(result)
循环控制
break
退出循环。(只能跳出距离最近的for或者while循环)——在循环过程中,如果某一个条件满足后,不再希望循环继续执行,可以使用break退出循环。
while True:print(111)name = input('请输入你的名字')if name == 'bb':print('bb欢迎回家')breakelse:print('bb不在家,你一会再来吧')for i in range(10):if i > 0 and i % 3 == 0:print(i)break# 判断一个数字n是否是质数(除了1和本身不能被其他整除)
n = 7
num = 0
for i in range(n):if i > 1 and n % i == 0:num = num + 1
if num == 0:print('%d是一个质数' % n)
else:print('%d不是一个质数' % n)
continue
跳出本次循环后面的剩余语句,然后继续下一次循环(只能跳过距离最近的for或者while循环)
for i in range(5):if i == 2:continueprint(i)
与else结合
else的下级代码:没有通过break退出循环,循环结束后,会执行的代码。
pass
- 作用:当语句要求不希望任何命令或代码来执行时使用
- pass语句表示一个空操作,在执行时没有任何的响应,pass的位置最终应该有代码来执行,只不过暂时写不出来
- 可以使用在流程控制和循环语句中
指数爆炸
经典案例:国王数麦粒
# 纸的厚度问题
n = 0.1
w = n
for i in range(50):w *= 2
print(w)# 国王麦粒
# 1:1 2:2 3:4 4:8
g = 1 # 当前格子应该放的麦粒数
total = 0 # 总麦粒数
a = 0 # 棋盘的格子数量
while a <= 100:total += g # 计算当前的总麦粒数a += 1 # 走到下一个格子g *= 2 # 当前格子应该放的麦粒数*2
print('在放满了%d个格子以后,总的麦粒数是%d' % (a-1, total))# 人生的复利(1+0.01)
day = 0
total = 1
while day < 365:total *= 1.01day += 1
print(total)