跟大多数编程语言一样,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就会执行

莫等闲,白了少年头,空悲切