python入门学习:6.用户输入和while循环
关键点:输入、while循环
6.1 函数input()工作原理6.2 while循环简介6.3 使用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, in <module>
12 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)