31-循环for
For语法:
For 变量名 in 集合:
语句
# 使用系统给定range()完成范围指定
print(range(8)) # range(0,8) 包含0 但是不包含8 0,1,2,3,4,5,6,7
# 打印三次
for i in range(2):
print('hello ---->',i)
print('---- game over -----')
32-for循环吃馒头案例
# range(n) ---> 0~n-1
# range(m,n) ----> m ~ n-1
range(n) ~ range(0,n)
range(m,n) ~ range(start,end)
range(m,n,step) ~ range(start,end,step)
step: 步长
循环:吃5个馒头
name='赵飞'
# 方式1:
# for i in range(5): # 0,1,2,3,4
# # i = 0
# print('{}很饿,正在吃第{}馒头'.format(name,i+1))
#方式2:
# for i in range(1,6): # 1,2,3,4,5
# print('{}很饿,正在吃第{}馒头'.format(name,i))
# print('{}说:终于吃饱啦!'.format(name))
for i in range(5):
print(i)
0,1,2,3,4
吃馒头:在第三个馒头上抹了一点’鹤顶红‘
'''
# print('*'*30)
# name = '张无忌'
# for i in range(1,6):
# # 判断i的值是多少,i==3 别吃
# if i==3: # i=1,2,4,5
# print("{}赶快扔掉这个馒头,有剧毒:'鹤顶红'!!!".format(name))
# else:
# print('{}很饿,正在吃第{}馒头'.format(name,i))
# print('{}说:终于吃饱啦!'.format(name))
33-for和else+pass+break
for .... else
else:适用于for执行完或者没有循环数据时,需要做的事情
for i in 范围:
有数据执行的语句
else:
没有数据执行的语句
输入馒头个数看够不够吃
# num = int(input('请输入需要的馒头数量:'))
# for i in range(num): # 2
# print('{}很饿,正在吃第{}馒头'.format(name,i+1))
# else:
# print('还没有给我馒头,{}饿哭啦.....'.format(name))
# print('---------------')
pass 空语句
只要有缩进而缩进的内容还不确定的时候,此时为了保证语法的正确性,就可以使用pass占位。
不会报出语法错误。
# if 10<7:
# print('10是大的')
# else:
# pass
# print('-----判断结束-----')
break 关键字: range的范围正常执行完毕,而没有异常break跳出。就可以执行else,
只要有break执行了就不会执行else
# 0,1,2
for i in range(3):
if i==4:
print('这家店是黑店,馒头有毒!等着关门吧!')
print('--------->进入消费者协会大门')
break # 跳出循环结构
print('abcd') # 即使有语句也不会执行,干脆别写!
else:
print('这家店的馒头真香啊!要多吃几个呀!')
else:
print('---->这家店太棒啦,下次再来!')
用户的账号密码登录而且只能登录三次,如果三次未成功账户锁定
# 用户的账号密码登录而且只能登录三次,如果三次未成功账户锁定
# break 关键字
# for i in range(3):
# username = input('请输入用户名:')
# password = input('请输入密码:')
# # 验证用户名和密码
# if username =='songsong' and password == '123456':
# print('欢迎!用户:{}'.format(username))
# print('-------轻松购物吧---------')
# break
# else:
# print('用户名或者密码有误!')
# else:
# print('账户被锁定,需要重新激活!') # 三次输入错误的时候
# 登录成功
36-while循环
while 条件:
语句体(块)
else:
语句体(块)
# 打印1-10之间的数字
# for i in range(1,11):
# print(i)
i=1
while i<=10: # 10<=10 True 11<=10 False 结束循环结构
print(i) # print(10)
i+=1 # i=11
print('打印完毕')
# 打印1-30之间的所有3的倍数
# 方式1:
n=1
while n<=30:
# 进入循环体
if n%3==0:
print('---->',n)
# 改变n
n+=1
print('*'*30)
# 方式2:
n=3
while n<=30:
print('====>',n)
n+=3
print('*'*30)
打印1-30之间的所有既是3的倍数还是5的倍数
n=1
while n<=30:
if n%3==0 and n%5==0:
print('----------------->',n)
# 改变n的值
n+=1
37-while求累加和
使用while循环计算1-20的累加和
1+2+3+4+...+20
sum_1=0
i=1
while i<=20:
sum_1+=i
i+=1
print('---->累加和是:',sum_1)
38-打印三角形(嵌套循环)
打印三角形
* ----> 第一层1颗*
** ----> 第二层2颗*
*** ----> 第三层3颗*
****
*****
嵌套循环
'''
# print('*')
# print('**')
# print('***')
# print('****')
# print('*****')
'''
分析:
1. 层数明确
2. 发现规律 层数与个数
3. 用什么表示层,用什么表示*的个数
'''
ceng = 1
while ceng<=5:
# 打印*
# print('*'*ceng)
# 嵌套while循环
count=1
while count<=ceng:
print('*',end='')
count+=1
ceng+=1
print() # 换行
# _____________________
# ceng = 5
# while ceng>=1:
# ceng -=1
# 打印 9*9的乘法表
'''
1*1 =1
1*2 =2 2*2=4
1*3 =3 2*3 =6 3*3=9
....
1*9=9 2*9=18 3*9=27.....
思路: