如何实现用户输入?
!以后运行结果不在展示,实践出真知,建议自己运行一遍!
words = "Tell me something, and I will repeat it back to you: "
message = input(words)
print(message)
#那就是input()函数 --- 括号里是你所呈现给用户的提示
#这里的 message 是存放用户输入的变量
甚至是很长的语句也可以写得很简洁
words = "If you tell me who you are, we can personlize the message you see."
words += "\nWhat's your first name?" #这儿用到了一个字符串相加
message = input(words)
if message == 'zhao':
print("You must very NB!")
else:
print("Hello, Mr(s)." + message.title())
对于数值型输入,input()函数是默认作为字符串类型输出的
old = input("How old are you?")
old #例如输入是24 ,则old带引号的‘24’
#如果我们要作为数字使用old,【会出错】
if old > 18:
print("You are Adult")
else:
print("You are not Adult")
我们需要把数字型输入转换一下类型
old = input("How old are you? ")
old = int(old) #转换成int类型
if old > 18:
print("You are Adult")
else:
print("You are not Adult")
求模运算 --- 有时候叫取余运算 %
4 % 3 #就是取 4 / 3 的余数,结果应该是 1
求模运算有很多用处——例如可以判断数字的奇偶
number = input("Input a number, I'll tell you if it's even or odd: ")
number = int(number) #这一步不要忘记
if number % 2 == 0:
print(str(number) + " is even.")
else:
print(str(number) + " is odd.")
while循环 —— 首先看一个最基本的while循环
current_number = 0
while current_number < 520:
current_number += 99
print(current_number) #从 0 到 520 需要 6 个 99🤭
更好的提示用户退出条件
prompt = "\nTell me something about your annoyance: "
prompt += "\nEnter 'q' to end the program."
message = "" #先定义一个message以进入循环
while message != 'q':
message = input(prompt)
print("I just want to give you a hug.") #即使你输入q了,循环还得走一遍
注意这个程序最后退出了还是会输出一次, 怎么办呢?
来看这个上面程序的改良版
prompt = "\nTell me something about your annoyance: "
prompt += "\nEnter 'q' to end the program."
message = "" #先定义一个message以进入循环
while message != 'q':
message = input(prompt)
if message != 'q':
print("I just want to give you a hug.")
#加个判断,只有输入不是q的时候才输出这句话
循环条件最好使用 【标志】,请看下面的对上面的改改良版!
prompt = "\nTell me something about your annoyance: "
prompt += "\nEnter 'q' to end the program."
active = True #这会让你和别人都容易看懂
while active:
message = input(prompt)
if message == 'q':
active = False
else:
print("I just want to give you a hug.")
使用 break 退出整个循环 --- 终极改良版!
prompt = "\nTell me something about your annoyance: "
prompt += "\nEnter 'q' to end the program."
active = True
while active:
message = input(prompt)
if message == 'q':
break #如果条件成立,直接退出循环
else:
print("I just want to give you a hug.")
使用 continue 退出本次循环 --- 输出奇数的例子
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0: #如果当前数对 2 取余为0
continue #跳过这次循环,进行下一次循环
print(current_number)
使用while循环来处理字典和列表
1 在列表之间移动
一个 验证用户 的例子
#首先创建一个等待验证用户的列表
#以及一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
#下面验证每一个用户,直到没有未验证的用户为止
#将每个经过验证的列表都【移到】已验证用户列表中
while unconfirmed_users:
current_user = unconfirmed_users.pop()
#pop()函数还记得吗?它是从末尾开始 弹出列表元素
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user)
#append()函数还记得嘛?它是从末尾开始增加列表元素
#显示所有已验证的用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
2 删除包含特定值的所有列表元素
#我们要删除一个宠物列表里的【鱼】的例子
pets = ['cat', 'dog', 'cat', 'goldfish', 'rabbit', 'goldfish', 'dog']
#假设列表里有重复元素
print(pets)
while 'goldfish' in pets:
pets.remove('goldfish') #还记得remove()函数吗?它是按指定名称来删除数组元素
print(pets)
3 使用用户输入来填充字典
一个调查问卷的例子
responses = {} #一个待存储的空字典
#设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
name = input("\nWhat's 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 Result ---")
for name, response in responses.items():
#还记得items()函数嘛?它是用于输出字典的键-值对
print(name.title() + " would like to climb " + response + ".")
7323e0ca37540f95c27d09e35016ce2c.jpg
网友评论