跟大多数编程语言一样,python中的循环有两种:
while循环和for循环
首先,介绍一下while循环,结合案例做一些练习。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while循环语法结构:
while 条件表达式:
代码
语法特点:
1.有初始值
2.条件表达式
3.变量【循环体内计数变量】的自增自减,否则会造成死循环
使用条件:循环的次数不确定,依靠循环条件来结束
目的:为了将相似或者相同的代码变得更加简洁,使得代码可以重复利用
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
案例一,输出1~100之间的数
# while 的使用,案例一,输出1~100之间的数
# 定义索引变量
# index = 1
# while index <= 100:
# print (index)
# index += 1
# pass
案例二:对猜拳游戏进行改进,使得可以进行多次猜拳
# 导入随机数random模块
# import random
# while True:
# print ('----------------------石头剪刀布------------------------')
#
# people = input ('(0代表石头,1代表剪刀,2代表布)请输入:') # 用people代表人为的输入
# computer = random.randint (0, 2) # 随机生成一个0,2之间的整数
# if people == '0' or people == '1' or people == '2': #用于规范用户的输入,限制只能输入0,1,2
# people = int (people) # 字符串转为int类型
# print ('你的输入为:{}'.format (people))
# print ('计算机的为:{}'.format (computer))
# if people == computer:
# print ('好吧,打平了~~')
# pass
# elif people == 0 and computer == 1:
# print ('真棒,你赢了~')
# pass
# elif people == 1 and computer == 2:
# print ('真棒,你赢了~')
# pass
# elif people == 2 and computer == 0:
# print ('真棒,你赢了~')
# pass
# else:
# print ('输了哦~')
# pass
# else:
# print('输入不正确,请输入0或1或2')
案例三:打印九九乘法表
# i = 1 #表示行数 1~9
# while i <= 9: #外循环控制行
# j = 1 #表示列数 1~9
# while j <= 9-i+1: #内循环控制列
# print('{}*{}={}'.format(j,10-i,j*(10-i)),end=' ') #想方设法把i,j的值与对应程式中的数对应起来
# j += 1
# print('\n')
# i += 1
介绍一下for循环:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for循环
语法特点:遍历操作,依次取集合容器中的每个值
循环格式:
for 临时变量 in 字符串,列表等:
执行代码块
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
案例一,求1~100的累加和
# sum = 0
# for data in range(1,101):
# sum += data
# print(data,end=' ')
# pass
# print('\n')
# print('sum=%d'%sum)
案例二,输出20~101之间的偶数
# for data in range(20,102):
# if data % 2 == 0:
# print('%d是偶数'%data, end=' ')
# pass
# else:
# print('%d是奇数'%data)
while循环和for循环对比:
通过对比发现:
while使用:适用于对未知的循环次数 用于判断
for使用:适用于已知的循环次数【可迭代对象遍历】
循环语句结合else语句的案例:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
循环和else语句的搭配使用:
for 变量 in 遍历对象:
执行代码块
else:
循环体退出时执行的代码
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'''
案例,限定用户登陆的次数,一旦三次没有登录成功就提示用户已被锁定
思路: 用for循环控制尝试登陆的次数,执行完整个for循环没有登录成功则锁定账户
所采用的结构:
for 变量 in 遍历对象:
执行代码块
else:
循环执行结束后,要执行的内容
'''
usr = 'haha'
pwd = '123'
for i in range(3):
username = input('请输入用户名:')
password = input('请输入密码:')
if usr == username and pwd == password:
print('欢迎%s'%usr)
break # 用户名和密码都正确跳出循环,登陆成功
pass
pass
else: # 如果三次没有登录成功,锁定账户。只要循环语句中break语句没有执行,else就会执行
print('该账户已被锁定')
循环语句和else搭配使用总结:
只要循环语句中break语句没有执行,else就会执行
莫等闲,白了少年头,空悲切