一、while循环语句

for循环用于针对集合中的每个元素的代码块,而while循环不断地运行,直到指定的条件不满足为止。

1、while循环书写

current_number = 1
while current_number <= 5:
       print(current_number)
       current_number += 1

2、让用户自主选择合适退出

# -*- coding: gb2312 -*-
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ''
while message != 'quit':
        message = input(prompt)
        print(message)

3、使用标志

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

4、break关键字的使用

break关键字在所有的循环语句中都可以使用,for循环,if——else中,while循环中都可以使用。

prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
     city = input(prompt)
    if city == 'quit':
         break

    else:
         print("I'd love to go to " + city.title() + "!") 
5、continue 关键字的使用

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

结果:1 3 5 7 9 

注意:continue表示的意思,忽略循环语句中continue后面的代码,继续返回循环开头执行循环。

6、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())

2、删除特定的元素

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、用户输入,填写字典

# -*- coding: gb2312 -*-
boy_and_gilrs = {}
active = True
while active:
      name=input("\nwhat's your name ?")
      girl=input("\nwhich girl you like ?")
      boy_and_gilrs[name]=girl
      repeat = input('\nWould you like to let another person respond? (yes/ no)')
      if repeat == "no":
            active = False
      else:
            continue
print("\n--- Poll Results ---")
for name, response in boy_and_gilrs.items():
print(name + " like " + response + ".")

结果:

what's your name ?小王

which girl you like ?小珍

Would you like to let another person respond? (yes/ no)yes

what's your name ?兵哥

which girl you like ?珍珍

Would you like to let another person respond? (yes/ no)no

--- Poll Results ---
小王 like 小珍.
兵哥 like 珍珍.

 

posted on 2018-07-03 10:38  Joker_王  阅读(143)  评论(0编辑  收藏  举报