1、函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,方便使用。
message = input("Please input your name here: ")
print(message)
输出:
[[email protected] python-test]# ./test_python.py
Please input your name here: Alex
Alex
函数input()接收一个参数:即要向用户显示的提示或者说明,让用户知道该如何做。
2、如果input()函数中需要提示或者说明的内容过长,可以分开多行写,例如:
prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nwhat is your first name?"
name = input(prompt)
print(name)
输出:
[[email protected] python-test]# ./test_python.py
If you tell us who you are, we can personalize the messages you see.
what is your first name?Alex
Alex
3、对于input()函数来说,输入的部分都被当做了字符串,如果试图把输入作为数字,则需要需用int()函数。
#!/usr/bin/env python3
age = input("How old are you? ")
if int(age) >= 18:
print("Age is greater than 18.")
elif int(age) < 18:
print("Age is smaller than 18.")
输出:
[[email protected] python-test]# ./test_python.py
How old are you? 21
Age is greater than 18.
[[email protected] python-test]# ./test_python.py
How old are you? 11
Age is smaller than 18.
4、求模运算符(%)是将两个数相除并且返回余数:
>>> 5%2
1
>>> 6%3
0
>>> 7%4
3
>>>
余数为0,表示可以被整除。用求模运算可以判断一个数是奇数还是偶数。如果是偶数,则number % 2 == 0,否则就是奇数。
5、如果使用的是Python2.x版本,获取输入的函数是raw_input(),同样的,获取的输入也被认为是字符串。Python2.x版本中也有input()函数,但是不建议使用,请使用raw_input()函数。
6、for循环用于针对集合中的每个元素都有一个代码块,而while循环不断地运行,直到指定的条件不满足为止。
current_number = 1
while current_number < 5:
print(current_nmuber)
current_number += 1
7、在要求很多条件都满足继续运行的程序中,可以定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志,充当了程序的交通信号灯。你可以让程序在标志为True时继续运行,并且在任何事件导致的标志值为False时让程序停止。
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter ‘quit‘ to end the program."
active = True
while active:
message = input(message)
if message == ‘quit‘:
active = False
else:
print(message)
8、使用break退出循环。要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。
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() + "!")
break语句,也可以使用在for循环中。
9、在循环中使用continue。要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可以使用continue语句。它不像break语句那样不再执行余下的代码并且退出整个循环。
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
这样等于把1~9的奇数打印出来,而遇到偶数则跳出循环。
10、记得避免无限循环。
11、for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
12、在列表之间移动元素:
unconfirmed_users = [‘alex‘, ‘johnny‘, ‘ruifeng‘]
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(confiremd_user.title())
13、删除包含特定值的所有列表元素。我们可以使用函数remove()来删除列表中的特定值,但是只会删除第一次出现的这个值。如果需要删除多个值,可以配合while循环一起做:
pets = [‘dog‘, ‘cat‘, ‘dog‘, ‘goldfish‘, ‘rabbit‘, ‘cat‘, ‘cat‘]
print(pets)
while ‘cat‘ in pets:
pets.remove(‘cat‘)
print(pets)
14、使用用户输入来填充字典。
responses = {}
poll_activee = True
while poll_active:
name = input("\nWhat is your name?")
response = input("Which mountain would you like to ")
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 + ".")