python学习7,,一、使用while


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

  1、在列表之间移动元素

首先,创建一个待验证用户列表# 和一个用于存储已验证用户的空列表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: CandaceVerifying user: BrianVerifying user: AliceThe following users have been confirmed:CandaceBrianAlice

 说明: 我们首先创建了一个未验证用户列表(见?),其中包含用户Alice、Brian和Candace,还创
建了一个空列表,用于存储已验证的用户。?处的while循环将不断地运行,直到列表
unconfirmed_users变成空的。在这个循环中,?处的函数pop()以每次一个的方式从列表
unconfirmed_users末尾删除未验证的用户。由于Candace位于列表unconfirmed_users末尾,因此
其名字将首先被删除、存储到变量current_user中并加入到列表confirmed_users中(见?)。接
下来是Brian,然后是Alice。(while遍历列表是无序的)。

  2、删除包含特定值的所有列表元素

  我们使用函数remove()来删除列表中的特定值,这之所以可行,是因为要删除

的值在列表中只出现了一次。如果要删除列表中所有包含特定值的元素。

  

pets = [‘dog‘, ‘cat‘, ‘dog‘, ‘goldfish‘, ‘cat‘, ‘rabbit‘, ‘cat‘]print(pets)while ‘cat‘ in pets:    pets.remove(‘cat‘)    print(pets)[‘dog‘, ‘cat‘, ‘dog‘, ‘goldfish‘, ‘cat‘, ‘rabbit‘, ‘cat‘][‘dog‘, ‘dog‘, ‘goldfish‘, ‘rabbit‘]

  3\使用用户输入来填充字典

responses = {}# 设置一个标志,指出调查是否继续polling_active = Truewhile polling_active:# 提示输入被调查者的名字和回答    name = input("\nWhat is your name? ")    response = input("Which mountain would you like to climb             someday? ")# 将答卷存储在字典中    responses[name] = response# 看看是否还有人要参与调查    repeat = input("Would you like to let another person respond? (yes/ no) ")    if repeat == ‘no‘:    polling_active = False# 调查结束,显示结果    print("\n--- Poll Results ---")for name, response in responses.items():    print(name + " would like to climb " + response + ".")


What is your name? Eric
Which mountain would you like to climb someday? Denali
Would you like to let another person respond? (yes/ no) yes
What is your name? Lynn
Which mountain would you like to climb someday? Devil‘s Thumb
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
Lynn would like to climb Devil‘s Thumb.
Eric would like to climb Denali.

  这个程序首先定义了一个空字典(responses),并设置了一个标志(polling_active),用于
指出调查是否继续。只要polling_active为True,Python就运行while循环中的代码。
  在这个循环中,提示用户输入其用户名及其喜欢爬哪座山(见?)。将这些信息存储在字典
responses中(见?),然后询问用户调查是否继续(见?)。如果用户输入yes,程序将再次进入
while循环;如果用户输入no,标志polling_active将被设置为False,而while循环将就此结束。
最后一个代码块(见?)显示调查结果。

python学习7

评论关闭