桐乡市建设局官方网站,多商城入住网站建设,网站绑定微信号,中国建设银行悦生活网站1、input() 函数的工作原理
input() 函数让程序暂停运⾏#xff0c;等待⽤户输⼊⼀些⽂本。获取⽤户输⼊ 后#xff0c;Python 将其赋给⼀个变量#xff0c;以便使⽤。
message input(Tell me something, and I will repeat it back to you:
)
print(message…
1、input() 函数的工作原理
input() 函数让程序暂停运⾏等待⽤户输⼊⼀些⽂本。获取⽤户输⼊ 后Python 将其赋给⼀个变量以便使⽤。
message input(Tell me something, and I will repeat it back to you:
)
print(message)
input() 函数接受⼀个参数即要向⽤户显⽰的提⽰prompt让⽤户 知道该输⼊什么样的信息。 1.1 编写清晰的提示
每当使⽤ input() 函数时都应指定清晰易懂的提⽰在提⽰末尾这⾥是冒号后⾯添加⼀个空格将提示与用户输入分开提示超过一行时先将提⽰赋给⼀个变量再将这个变量传递给 input() 函数。
prompt If you share your name, we can personalize the messages you
see.
prompt \nWhat is your first name?
name input(prompt)
print(f\nHello, {name}!)
1.2 使用int() 来获取值得输入 age input(How old are you? )How old are you? 21age 18Traceback (most recent call last):File stdin, line 1, in module
TypeError: not supported between instances of str and int
Python 报错因为它⽆法将 字符串和整数进⾏⽐较不能将赋给 age 的字符串 21 与数值 18 进⾏ ⽐较 age input(How old are you? )How old are you? 21age int(age)age 18
True
Python 将这个数解读为字符串但随后 int() 将这个字符串转换成了数值表⽰ 1.3 求模运算符
求模运算符%是个很有⽤的⼯具它将两个数相除 并返回余数 4 % 3
15 % 3
26 % 3
07 % 3
1
可利以来判断⼀个数是奇数还是偶数
偶数都能被 2 整除 number % 2 0否则是奇数 2、While循环
for 循环⽤于针对集合中的每个元素执⾏⼀个代码块⽽ while 循环则不 断地运⾏直到指定的条件不再满⾜为⽌。 2.1 使用While循环
可以使⽤ while 循环来数数。例如下⾯的 while 循环从 1 数到 5
current_number 1
while current_number 5:print(current_number)current_number 1
2.2 让用户选择何时退出
可以使⽤ while 循环让程序在⽤户愿意时不断地运⾏们在其中定义了⼀个退出值只要⽤户输⼊的不是这个 值程序就将⼀直运⾏
prompt \nTell me something, and I will repeat it back to you:
prompt \nEnter quit to end the program.
message
while message ! quit:message input(prompt)print(message)
2.3 使用标志
在更 复杂的程序中有很多不同的事件会导致程序停⽌运⾏。
在要求满⾜很多条件才继续运⾏的程序中可定义⼀个变量⽤于判断整 个程序是否处于活动状态。这个变量称为标志flag充当程序的交通信 号灯。
添加⼀个标志active可以给它指定任何名称⽤于判断程序是否应继续运⾏
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(prompt)if message quit:active Falseelse:print(message)
在复杂的程序⽐如有很多事件会导致 程序停⽌运⾏的游戏中标志很有⽤在任意⼀个事件导致活动标志变 成 False 时主游戏循环将退出。 2.4 使用break退出循环
想⽴即退出 while 循环不再运⾏循环中 余下的代码可使⽤ 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:breakelse:print(fId love to go to {city.title()}!)
以 while True 打头的循环将不断运行直到遇到break语句。
注意在所有 Python 循环中都可使⽤ break 语句。例如可使⽤
break 语句来退出遍历列表或字典的 for 循环。
2.5 在循环中使用continue
要返回循环开头并根据条件测试的结果决定是否继续执⾏循环可使⽤ continue 语句。
current_number 0
while current_number 10:current_number 1if current_number % 2 0:continueprint(current_number)
if 语句检查 current_number 与 2 的 求模运算结果。如果结果为 0意味着current_number 可被 2 整除 就执⾏ continue 语句让 Python 忽略余下的代码并返回循环的开头。 2.6 避免无限循环
每个 while 循环都必须有结束运⾏的途径这样才不会没完没了地执⾏下 去。
x 1
while x 5:print(x)x 1
如果像下⾯这样不⼩⼼遗漏了代码⾏ x 1这个循环将没完没了地运 ⾏
# 这个循环将没完没了地运⾏
x 1
while x 5:print(x)
3、While处理列表和字典
通过将 while 循环与列表和字典结合起来使⽤可收 集、存储并组织⼤量的输⼊供以后查看和使⽤。
3.1 在列表中移动元素
假设有⼀个列表包含新注册但还未验证的⽹站⽤户。验证这些⽤户后如
何将他们移到已验证⽤户列表中呢
⼀种办法是使⽤⼀个 while 循环
在 验证⽤户的同时将其从未验证⽤户列表中提取出来再将其加⼊已验证⽤
户列表。代码可能类似于下⾯这样
# ⾸先创建⼀个待验证⽤户列表
# 和⼀个⽤于存储已验证⽤户的空列表
unconfirmed_users [alice, brian, candace]confirmed_users []# 验证每个⽤户直到没有未验证⽤户为⽌# 将每个经过验证的⽤户都移到已验证⽤户列表中
while unconfirmed_users:current_user unconfirmed_users.pop()print(fVerifying user: {current_user.title()})confirmed_users.append(current_user)# 显⽰所有的已验证⽤户print(\nThe following users have been confirmed:)for confirmed_user in confirmed_users:print(confirmed_user.title())
3.2 删除特定值的所有列表元素
我们使⽤ remove() 函数来删除列表中的特定值。这之所以
可⾏是因为要删除的值在列表中只出现了⼀次。
假设有⼀个宠物列表其中包含多个值为 cat 的元素。
要删除所有这些 元素可不断运⾏⼀个 while 循环直到列表中不再包含值 cat
如下 所⽰
pets [dog, cat, dog, goldfish, cat, rabbit, cat]
print(pets)
while cat in pets:pets.remove(cat)
print(pets)
⾸先创建⼀个列表其中包含多个值为 cat 的元素。打印这个列表后 Python 进⼊ while 循环因为它发现 cat 在列表中⾄少出现了⼀次。 进⼊这个循环后Python 删除第⼀个 cat 并返回 while 代码⾏然后 发现 cat 还在列表中因此再次进⼊循环。 3.3 使用用户输入填充字典
可以使⽤ while 循环提⽰⽤户输⼊任意多的信息。下⾯创建⼀个调查程序其中的循环在每次执⾏时都提⽰输⼊被调查者的名字和回答。
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(f{name} would like to climb {response}.)
这个程序⾸先定义了⼀个空字典responses并设置了⼀个标志 polling_active⽤于指出调查是否继续。只要 polling_active 为 TruePython 就运⾏ while 循环中的代码。