Python从入门到实践
第7章 用户输入和While循环
函数input()的工作原理
input()演示:
message = input("Tell me what to repeat")
print(message)
# input : asd
# output
asd
input()方法主要是展示一个说明,让用户明白此时应该进行输入,
在用户输入完毕后,按下回车,input()会将用户输入的数据存储起来,此时使用一个变量进行接收即可
改变数据输入类型
在用户进行数据输入时,数据默认为字符串的格式,如果需要转化为其他格式需要手动进行转化
此时我们可以使用int()函数来将数字转化为int格式
age = input("How old are you ")
age = int(age)
print(age)
如此,age中存储的数据就不会是字符串格式而是整形
注意;在输入数据后,一般都需要转化为整形,因为字符串无法参与逻辑运算
求模运算符
在处理数值信息时,求模运算将两个数相除,并返回其余数
>>> 4 % 3
1
>>> 5 % 2
1
这样在判断奇偶数时更加的方便;
age = input("How old are you ")
age = int(age)
if age % 2 == 0 :
print('Your age is even number')
else:
print('Your age is odd number')
# INPUT : 23
# OUTPUT
Your age is odd number
while()循环
while循环一直执行直到指定的条件不满足为止
num = 1
while num <= 5:
print(num)
num += 1
# OUTPUT
1
2
3
4
5
设置标志(FLAG)
flag可用于判断外界状态以控制while循环是否还要继续
active = True
while active :
message = input('请输入,如果你想退出请输入quit')
if message == 'quit' :
active = False
else:
print(message)
# 可持续输入,且输入quit后会终止程序
continue 用来测试结果判断是否继续执行循环
continue被执行时,即进入下一次循环,continue之后的语句均不再执行
num = 0
while num < 10:
num += 1
if num % 2 == 0:
continue
print(num)
# OUTPUT
1
3
5
7
9
用while循环来处理列表和字典
# example 1 :验证用户
unconfirmed_users = ['Jason','Daniel','Andy']
confirmed_users = []
while unconfirmed_users :
current_user = unconfirmed_users.pop()
print("已验证用户" + current_user)
confirmed_users.append(current_user)
# 循环处理验证用户
# example 2 :批量删除列表同一元素
pets = ['dog' , 'cat' , 'goldfish' , 'cat' , 'rabbit' , 'cat']
print(pets)
while 'cat' in pets :
pets.remove('cat')
print(pets)
# OUTPUT
['dog', 'cat', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'goldfish', 'rabbit']
使用用户输入来填充字典
responses = {}
# 设置一个标志,指出调查是否可以继续
polling_active = True
while polling_active :
name = input('Whats your name ?')
response = input('Whats the weather today ?')
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 + ':')
print(response + '\n')
# OUTPUT
--- Poll Results ---
Daniel:
good
Jason:
Bad
总结
本章重点利用了while循环和用户输入可以制作简单的用户交互设计,继续加油