python入门学习:6.用户输入和while循环
关键点:输入、while循环
6.1 函数input()工作原理
函数input()让程序暂停运行,等待用户输入一些文本。函数input()接受一个参数:即要向用户显示的提示或说明,让用户知道该如何做。
1message = input("Tell me something, and I will repeat it back to you:") 2print(message) #返回输入的值6.1.1 使用int()获取数值输入 使用函数input()时,python将用户输入解读为字符串。
1age = input("How old are you? ") 2print(age) #输入age = '21' 3if age > 18 : #字符串不能和整型比较 4 print("you are old") 5else: 6 print("you are too young") 7 8How old are you? 23 923 10Traceback (most recent call last): 11 File "chapter6.py", line 6, in12 if age > 18 : 13TypeError: unorderable types: str() > int()
通过int()函数将获取的字符串转换为整型
1age = input("How old are you? ") 2age = int(age) 3print(age) 4if age > 18 : 5 print("you are old") 6else: 7 print("you are too young") 8How old are you? 23 923 10you are old
6.1.2 求模运算符
求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数:14 % 3 21 #余数为1 35 % 3 42 #余数为2 56 % 3 60 #余数为0
6.2 while循环简介
6.2.1 使用while循环
for循环针对集合中的每个元素的一个代码块,而while循环不断地运行,直到指定的条件满足为止。1current_number = 1 2while current_number <=5: 3 print(current_number) 4 current_number +=1
6.2.2 让用户选择何时退出
可使用while循环让程序在用户愿意时不断的运行,通过用户输入控制退出1prompt = "\nTell me something,and I will repeat it back to you:" 2prompt +="\nEnter 'quit' to end the program.\n" 3message = "" 4while message != 'quit': 5 message = input(prompt) 6 if message != 'quit': 7 print(message)
6.2.3 使用标志
有时候,在要求许多条件都满足才继续运行程序,可以定义一个变量,用于判断程序是否处于活动状态,这个变量被称为标志,充当的程序的交通信号灯。1active = True 2while active: 3 message = input(prompt) 4 if message == 'quit' 5 active = False 6 else: 7 print(message)
6.2.4 使用break退出循环
使用关键字break可以立即结束当前循环1prompt = "\nPlease enter the name of a city you have visited:" 2prompt+= "\n(Enter 'quit' when you are finished.) " 3while True: 4 city = input(prompt) 5 if city == 'quit' 6 break; 7 else: 8 print("I'd love to go to " + city.title() +"!")
6.2.5 在循环中使用continue
使用continue结束本次循环,返回当循环开始。1current_number = 0; 2while current_number < 10: 3 current_number +=1 4 if current_number %2 == 0: 5 continue 6 print(current_number)
6.3 使用while循环处理字典和列表
for循环是一种遍历列表的有效方式,但是在for循环中不应该修改列表,否则将导致python难以跟踪其元素。要在遍历时同时修改列表,可使用while循环。
6.3.1 在列表之间移动元素 假设有一个列表,其中包含新注册但还未验证的网站用户;验证用户后,如何将它们转移到另一个已验证的用户列表中呢?1unconfirmed_users = ['alice','brain','candace'] 2confirmed_users = [] 3while unconfirmed_users: 4 current_user = unconfirmed_users.pop() 5 print("Verfying user: "+ current_user.title()) 6 confirmed_users.append(current_user) 7#显示所有已经验证用户 8print("\nThe following users have been confirmed:") 9for confirmed_user in confirmed_users: 10 print(confirmed_user.title())
6.3.2 删除包含特定值的所有列表元素
删除一个列表中多个重复元素可使用while循环1pet = ['dog','cat','dog','goldfish','cat','rabbit','cat'] 2print(pets) 3while 'cat' in pets: 4 pets.remove('cat') 5print(pets)