美文网首页
Python在列表之间移动元素(67)

Python在列表之间移动元素(67)

作者: 一日歌 | 来源:发表于2017-08-09 22:39 被阅读69次

    for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

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

    大大的图

    Python在列表之间移动元素(67)

    我的图

    Python在列表之间移动元素(67)

    我们首先创建了一个未验证用户列表unconfirmed_users,其中包含丽丽、小明和大胖,还创建了一个空列表confirmed_users,用于存储已验证的用户。while循环将不断运行,直到列表unconfirmed_users变成空的。在这个循环中,函数pop()以每次一个的方式从列表unconfirmed_users末尾删除未验证的用户,并把删除值赋值到变量current_user。将验证用户以首字母大写的形式打印出来。把变量current_user值以append()方式加入到列表confirmed_users末尾。

    完善了已验证用户列表confirmed_users之后,用for循环把里面的值打印出来。

    这里面有一个有意思的事情是title(),upper(),lower()这样的函数奈何不了汉字。汉字不像字母,没有大小写。比如,把title()改成lower()结果还是不变

    Python在列表之间移动元素(67)

    用户验证以后就是用户登录,简化起见,只使用用户名登录。用户输入用户名,用if语句与列表中已验证的用户名进行比较,如果一致,则欢迎用户登录。如果不一致,请用户重新检查用户名

    Python在列表之间移动元素(67)
    Python在列表之间移动元素(67)

    好像随机输入的中文变量不能与列表中元素进行比较,这个程序无论我怎么输入中文,都执行的else语句。而且我试了一下让程序自行输出中文,会乱码

    Python在列表之间移动元素(67)

    但是如果把整个程序改成英文的,就那非常通畅的执行

    Python在列表之间移动元素(67) Python在列表之间移动元素(67)

    相关文章

      网友评论

          本文标题:Python在列表之间移动元素(67)

          本文链接:https://www.haomeiwen.com/subject/crqcrxtx.html