python循环结构有哪几种_Python 循环结构

在python中,某些情况下需要用到循环语句。在python中,常用的循环语句有while,for语句,本文主要介绍while循环,首先介绍while结构,再介绍一个while例子:

while结构:

while 条件:

# 循环体

# 如果条件为真,那么循环体则执行

# 如果条件为假,那么循环体不执行

例1:

while True:

print('学猫叫....')

print('两只老虎....')

我们发现,运行此代码,将无限循环打印'学猫叫....'与'两只老虎....' 。原因是while条件一直为真,也没有一个结束循环的条件。

如何才能终止循环???

我们可以通过改变条件来结束循环,而通常有两种方法,如例2,例3:

例2:

num = 1

while num <= 100:

print(num)

num += 1

例3:

flag = True

num = 1

while flag:

print(num)

num += 1

if num == 101:

flag = False

例3是通过设置标志位来结束循环,该方法较为常用,while 条件一直为真,num一直计数,当num统计到100时,标志位为False,此时while条件为假,循环结束。

此外,当循环中有break语句时,while也会结束循环运行。下面介绍三种方法来求:1 + 2 + 3 + ... + 100 的值:

例4:

1 num =02 i = 1

3 whileTrue:4 num +=i5 i += 1

6 print(num)7 if i == 101:8 break

9print("sum =", sum)

1 flag =True2 num =03 i = 1

4 whileflag:5 num +=i6 i += 1

7 print(num)8 if i == 101:9 flag =False10 print("sum =", num)

1 sum =02 for i in range(1, 1000):3 sum +=i4 if i == 101:5 break

6 print("sum =", sum)

通过对比发现,方法一与方法三是通过break语句跳出该循环,而方法二则是通过标志位赋值而改变while条件达到结束循环目的。

与break语句不同的是continue语句,该语句表示的是结束本次循环,继续下一次循环。

例5:

1 count =02 while count <= 10:3 count += 1

4 if count == 5:5 continue

6 print('go on!', count)7 print('----------------out of while go on---------------------')

执行的结果为:

go on! 1

go on! 2

go on! 3

go on! 4

go on! 6

go on! 7

go on! 8

go on! 9

go on! 10

go on! 11

----------------out of while go on---------------------

从结果可以看出,当continue = 5时,没有输出输出结果,即跳出此次循环,接着执行下一次循环。

while...else...结构

该结构表示如果while循环被break打断,则步=不执行else语句,否则执行else语句。

例6:

1 count = 1

2 while count < 5:3 print(count)4 count += 1

5 if count == 3:6 break

7 else:8 print(666)9 print(222)

执行结果为:

1

2

222

while语句应用的场合:

1. 验证用户名密码,重新输入这个功能需要while循环,如例7;

2. 无限次的显示页面,无限次的输入。

例7:   用户登陆(三次机会重试)

1 flag =True2 count = 1

3 whileflag:4 user_name = input("请输入账号:")5 if user_name == 'colin':6 passward = input("请输入密码:")7 if passward == '123456':8 print('恭喜您,登陆成功!!!')9 break

10 else:11 print('对不起,密码输入错误,请重新输入!!!')12 else:13 print('对不起账户输入错误,请重新输入!!!')14 count += 1

15 n = 4 -count16 msg = "您还有%s次机会!!!" %(n)17 print(msg)18 if count == 4:19 flag = False

其他知识点拓展:

格式化输出:指制作一个模板,某些位置的参数是动态的,像这样,就需要格式化输出,也即字符串的动态替换。

例8:

1 name = input('Name:')2 age = input("Age:")3 job = input('Job:')4 hobbie = input('Hobbie:')5 info = '''

6 --------------------------info of %s----------------------------7 Name : %s # 代表 name8 Age : %s # 代表 age9 Job : %s # 代表 job10 Hobbie : %s # 代表 hobbie11 -----------------------------end---------------------------------12 ''' %(name,name, age, job, hobbie)13 print(info)

输出结果为:

Name:colin

Age:27

Job:enginneer

Hobbie:girl

--------------------------info of colin----------------------------

Name : colin # 代表 name

Age : 27 # 代表 age

Job : enginneer # 代表 job

Hobbie : girl # 代表 hobbie

-----------------------------end---------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值