1.input()函数
函数input()让程序暂停运行,等待用户输入一些文本。
message =input("Tell me something, and i will repeat it back to you:")
print(message)
2.使用int()来获取数值输入
Python会将用户输入解读为字符串。
下面例子判断一个人是否满足做过山车的身高要求:
eight = input("How tall are you, in inches?")
height = int(height)
if height >= 36:
print("\nYou'are tall enough to ride!")
else:
print("\nYou'll be able to ride when you're a little older.")
3.求模运算符
%可以将两个数相除并返回余数
number = input("Enter a number,and I'll tell you if it's even or odd:")
number = int(number)
if number % 2 == 0:
print("\nThe number " + str(number) + "is even.")
else:
print("\nThe number " + str(number) + "is odd.")
4.while循环
下列代码将数字1-5循环:
current_number = 1
while current_number<=5:
print(current_number)
current_number += 1
4.1用户退出
我们在while循环中设置一个退出值,这样只要用户输入的不是这个值,那么程序就会继续运行。
下列代码中我们将‘message’的初始值设为空,这样Python在首次运行while循环时有可检查的值。
prompt = "\nTell me something, and I will repeat it backto you:"
prompt += "\nEnter 'quit' to end the program."
message = ""
while message != 'quit':
message = input(prompt)
if message != 'quit':
print(message)
4.2使用标志
在要求很多条件都满足菜继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态,这个变量称为标志。
4.3break中断循环
可以在用户输入‘quit’后使用break语句立即退出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() + "!")
4.4使用continue
不像break语句直接终止循环,continue会先判断是否满足循环条件。
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
5.使用while循环来处理列表和字典
在列表之间移动元素。
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 usershave been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
删除包含特定值得所有列表元素
下列代码中,不断在while循环remove()删除‘cat’,知道列表中不在包含‘cat’值。
pets = ['dog','cat','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
使用用户输入来填充字典
下面创建一个调查程序,其中的循环每次执行时都提示输入被调查者的名字和回答。我们将手机的数据存储在一个子弹中,以便将回答同被调查者关联起来:
responses = {}
#设置一个标志,指出点差是否继续
polling_active = True
while 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 + ".")