目录
我现在如果要打印一千遍:"I Love Music!",我该怎么做呢?我难道要写1000条print吗?我们可以使用循环语句完成。
while循环
语法:
i = 1
while i <= 10: # 当条件成立就会进入循环,条件不成立跳出循环
print('I Love Music')
i += 1 # 如果没有该语句会死循环
计算1-100的累加和
我们可以定义一个变量i,让他从1开始,在定义一个sum,sum每次加上i,然后i进行加1,当i > 100的时候退出循环。
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
计算1-100的偶数累加和
只需要加一个判断即可,亦或者i从2开始,每次加等2。
# 方法1
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum += i
i += 1
print(sum)
# 方法2
i = 2
sum = 0
while i <= 100:
sum += i
i += 2
print(sum)
打印小星星
# 方式1
i = 1
while i <= 5:
print('*' * i)
i+=1
# 方式2
i = 1
while i <= 5: #循环5次
j = 1
while j <= i:
print('*', end=' ')
j += 1
print() # 默认换行
i += 1
打印九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{i} * {j} = {i * j}', end='\t')
j += 1
i += 1
print()
for循环
range函数
语法:range(start, end, step),range(1,5,2)范围是左闭右开[1,5),刚开始是1,然后跳跃2步是3,在跳跃2步是5,不包含5,因此结果就是1,3。
返回值:返回一个整数列表,一般用在for循环中。
start:计数的起始值,默认从0开始。
end:计数的结束位置,不包含end。
step:每次跳跃的间距,不填默认为1。
for语法:
这个可迭代对象就是可以通过for依次把里面的元素取出来的对象。
range里面只填一个5,表示返回一个列表,里面的元素是[0-5)。
for i in range(5):
print(i)
计算1-100求和
sum = 0
for e in range(1, 101):
sum += e
print(sum)
打印九九乘法表
# 九九乘法表
for row in range(1, 10): # 行数范围1-9
for col in range(1, row + 1): # 列数范围1-row
print(f'{row} * {col} = {row * col}', end='\t')
print()
break
退出当前循环。
for i in range(1, 10):
if i % 3 == 0:
break
print(i)
a = 1
while a < 5:
print(f'吃了{a}个包子')
if a == 3:
print('吃饱了')
break
a += 1
continue
结束本轮循环,continue后面代码不在执行,继续下一轮。
如果要在while循环中使用continue,一定要小心。
a = 1
while a < 5:
if a == 3: # 此时后面代码不执行,继续下一轮,a永远都是3,不会超过5,死循环了
continue
print(a)
a += 1 # 放在这里会死循环
for循环则不会,因为for循环本质是遍历一个可迭代的对象,会依次取出对象里面的值,每次循环都会自动往后走。
for e in range(1, 6):
if e == 3:
continue
print(e)