ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第九次博客

2019-04-28 18:52:40  阅读:250  来源: 互联网

标签:quit 第九次 博客 列表 while 循环 print message


一、while循环

之前已经简单介绍过while循环了,这里是介绍一下while循环的一些其他用法和功能。

1.while循环最简单的用法:拿来数数,比如从零数到五:

>>> number=0
>>> while number<=5:
    print(number)
    number+=1

    
0
1
2
3
4
5
2.while循环可以让用户选择何时退出:我们在其中定义了一个退出值,只要用户输入的是这个值,程序就会退出:

>>> message=""
>>> while message!='quit':
    message=input()
    print(message)

    
star
star
quit
quit
>>>

这里我们将变量message 的初始值设置为空字符串"" ,让Python首次执行while 代码行时有可供检查的东西。Python首次执行while 语句时,需要 将message 的值与'quit' 进行比较,但此时用户还没有输入。如果没有可供比较的东西,Python将无法继续运行程序。为解决这个问题,我们必须给变量message 指定一个 初始值。虽然这个初始值只是一个空字符串,但符合要求,让Python能够执行while 循环所需的比较。

但是这个程序有个小问题,就是最后输入的'quit'也被打印出来了,解决很简单,用一个if测试就行了:

>>> message=""
>>> while message!='quit':
    message=input()
    if message!='quit':
        print(message)

        
star
star
quit
>>>

3.使用标志:在前一个示例中,我们让程序在满足指定条件时就执行特定的任务。但在更复杂的程序中,很多不同的事件都会导致程序停止运行;在这种情况下,该怎么办呢?在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志。你可让程序在标志 为True 时继续运行,并在任何事件导致标志的值为False 时让程序停止运行。这样,在while 语句中就只需检查一个条件——标志的当前值是否为True ,并将所有测试(是 否发生了应将标志设置为False 的事件)都放在其他地方,从而让程序变得更为整洁。就比如这样:

>>> active=True
>>> while active:
    message=input()
    if message=='quit':
        active=False
    else:
        print(message)

        
star
star
shy
shy
quit
>>>

4.使用break退出循环:要立即退出while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break 语句。break 语句用于控制程序流程,可使用它来控制哪些代码行将执行, 哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。如:
>>> while True:
    message=input()
    if message=='quit':
        break
    else:
        print(message)

        
star
star
shy
shy
quit
>>>

5.在循环中使用continue:要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue 语句,它不像break 语句那样不再执行余下的代码并退出整个循环。例如,来看一个从1数 到10,但只打印其中奇数的循环:

>>> number=0
>>> while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

    
1
3
5
7
9
>>>

对这个程序大家肯定会有更好的方法,这里我只是为了向大家展示continue的用法,大家不要介意。

二、使用while循环来处理列表和字典

1.在列表中移动元素:假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,如何将他们移到另一个已验证用户列表中呢?一种办法是使用一个while 循环,在验证用户的同时 将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中。方法如下:

# 首先,创建一个待验证用户列表

>>>unconfirmed_users = ['alice', 'brian', 'candace']

 #  创建一个用于存储已验证用户的空列表

>>> confirmed_users = []

 # 验证每个用户,直到没有未验证用户为止 

 #  将每个经过验证的列表都移到已验证用户列表中

>>> while unconfirmed_users: 

              current_user = unconfirmed_users.pop()     

              print("Verifying user: " + current_user.title()) 

              confirmed_users.append(current_user)

 # 显示所有已验证的用户

        print("\nThe following users have been confirmed:")

        for confirmed_user in confirmed_users:

               print(confirmed_user.title())

Verifying user: Candace

Verifying user: Brian

Verifying user: Alice

The following users have been confirmed:

Candace

Brian

Alice

2.删除包含特定值的所有列表函数:我们可以使用函数remove() 来删除列表中的特定值,这之所以可行,是因为要删除的值在列表中只出现了一次。如果要删除列表中所有包含特定值的元素,该怎么办 呢?要删除所有这些元素,可不断运行一个while 循环,直到列表中不再包含特定值。如下:

>>> s=[1,2,3,4,1,2,1]
>>> print(s)
[1, 2, 3, 4, 1, 2, 1]
>>> while 1 in s:
    s.remove(1)

    
>>> print(s)
[2, 3, 4, 2]
>>>

注意:在使用while循环是要避免无限循环,每个while 循环都必须有停止运行的途径,我们可以设定特定的程序让while后面的条件不成立或者使用break退出循环。

标签:quit,第九次,博客,列表,while,循环,print,message
来源: https://blog.csdn.net/qq_43624349/article/details/89641754

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有