# 7.3.1 在列表之间移动元素

# confirmed_users.py

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

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

uncomfirmed_users = ['james','star','wendy']

comfirmed_users = []

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

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

while uncomfirmed_users:
  current_user = uncomfirmed_users.pop()  # pop.() 默认移除列表中最后一个元素

  print("Verifying use: " + current_user.title())
  comfirmed_users.append(current_user)  # 空列表已经在这段码块中更新
# 显示所有已验证的用户
print("\nThe following users have been comfirmed:")
for comfirmed_user in comfirmed_users:
  print(comfirmed_user.title())

# 7.3.2 删除包含特定值的所有列表元素
#pets.py
pets = ['dog','cat','goldfish','cat','rabbit','tigger','cat','chick']

# 循环寻找列表中的'cat',并且移除所有'cat',直到列表中没有这条信息

while 'cat' in pets:
  pets.remove('cat')

print(pets)

# 7.3.3 使用用户输入来填充字典
# mountain_poll.py
responses = {}
polling_active = True

while polling_active:

# input()函数,提示用户需要输入信息
name = input("What's your name?")
response = input("Which mountain would you like to climb someday?")

# 字典 {'keys','values'} 等效于 keys = values,name = response

responses[name] = response

repeat = input("would you like to let another person repond? (yes/no)")
if repeat == 'no':
polling_active = False

print("\n---Poll Result---")
for name, response in responses.items():
print(name.title() + " would like to climb " + response + ".")

# 7-8 熟食店
sandwich_orders = ['tomato','potato','vegetable']
finished_sandwiches = []

while sandwich_orders:
  current_sandwich = sandwich_orders.pop()

print(current_sandwich + ", I made your tuna sandwich.")
finished_sandwiches.append(current_sandwich)

print("All the sandwiches are finished.")
for finished_sandwich in finished_sandwiches:
  print(finished_sandwich.title())

# 7-9 五香烟熏牛肉
sandwich_orders = ['tomato','pastrami','potato','pastrami','vegetable','pastrami']
finished_sandwiches = []
while 'pastrami' in sandwich_orders:
  sandwich_orders.remove('pastrami')

print("Pastrami sold out!")

while sandwich_orders:
  current_sandwich = sandwich_orders.pop()

print(current_sandwich + ", I made your tuna sandwich.")
finished_sandwiches.append(current_sandwich)

print("All the sandwiches are finished.")
for finished_sandwich in finished_sandwiches:
  print(finished_sandwich.title())

# 7-10 梦想的度假胜地

responses = {}

polling_active = True
while polling_active:
  name = input("What's your name?")
response = input("If you could visit one place in the world," +
" where would you go?")
responses[name] = response

repeat = input("Would you like to let another person respond? (yes/no) ")
if repeat == 'no':
  polling_active = False

print("---Poll Result---")
for name, response in responses.items():
  print(name.title() + " would like to visit " + response + ".")

7.3 使用while 循环来处理列表和字典的更多相关文章

  1. 使用while循环来处理列表和字典——参考Python编程从入门到实践

    1. 在列表之间移动元素 unconfirmed_users = ['alice', 'brian', 'candace'] confirmed_users = [] # 验证每个用户,知道没有未验证 ...

  2. input函数以及while处理列表和字典

    一.函数input()的工作原理 .input()函数:获取输入的字符串 示例: message = input('请输入信息,方便电脑显示') print(message) print('您输入的信 ...

  3. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  4. Bash实用技巧:同时循环两个列表

    摘要: 你会学到一种原创的同时循环两个列表的方法.类似于Python或者Haskell的zip函数,非常简洁直观,效果如下: $ paste <( ) <( ) | while read ...

  5. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  6. vue.js循环for(列表渲染)详解

    vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...

  7. Python基础、判断、循环、列表、字典,day1

    一.Python 简介 1.介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标 ...

  8. join,列表和字典用for循环的删除,集合,深浅拷贝

    1.join() 将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代 例如: s = ['a','b','c'] ...

  9. python中for循环里去修改列表注意的事项

    你的微信好友当中有 5 个推销的,他们存在一个列表 # black_list=['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机'] # 当中, 请把这 5 个人分别从 black_l ...

随机推荐

  1. How To Configure NFS Client on CentOS 8 / RHEL 8

    https://computingforgeeks.com/configure-nfs-client-on-centos-rhel/

  2. poj 2376 Cleaning Shifts 最小区间覆盖

    Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 40751   Accepted: 9871 ...

  3. Bookshelf 2 简单DFS

    链接:https://ac.nowcoder.com/acm/contest/993/C来源:牛客网 题目描述 Farmer John recently bought another bookshel ...

  4. Python基础week1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  5. 【java】【反射】反射实现判断发生了修改操作,判断两个对象是否发生属性值的变更,判断两个List集合内对象的属性值是否发生变更

    java的反射实现: 判断发生了修改操作,判断两个对象是否发生属性值的变更,判断两个List集合内对象的属性值是否发生变更 今日份代码: package com.sxd.streamTest; imp ...

  6. 本机无oracle,远程连接

    描述 本机无oracle,通过PLSQL Developer程序,连接虚拟机中的oracle11gR2 1 下载instant-client 需要和服务端版本对应 下载相应的instant-clien ...

  7. Flask—路由的注册方法

    第一种注册方法 from flask import Flask app = Flask(__name__) @app.route("/hello") # 第一种注册方法 def h ...

  8. 二十五、SAP中输出一条横线

    一.我们代码如下,这个是不输出横线的时候 效果如下 二.输出横线的代码如下 效果如下,多出一条横线

  9. 通过html5 touch事件封装手势识别组件

    html5移动端新增了touchstart,touchmove,touchend事件,利用这3个事件,判断手指的点击和划动轨迹,我们可以封装各种手势的识别功能, 这3个事件和pc端的mousedown ...

  10. C#中类的字段或属性不被序列化成JSON或XML

    将一个类序列化成JSON或XML时,如果某个字段或属性不想被序列化,则可以使用以下Attribute: 1.[Newtonsoft.Json.JsonIgnore]特性:使用Newtonsoft.Js ...