Python书籍阅读与记录 6.15 I 用户输入和while循环

我感觉这样记录,对于我来说挺好的。因为我看两端对齐的语句容易走神,这样记录阅读的话,就很少出现之前的情况。

我写的初衷,也是自己来看,所以感觉写的不好的,请保留下意见,谢谢。

 

里面的每一个字我都看过,加粗 括号  下划线 等均是我的笔记。

 

第7章 用户输入和while循环 
大多数程序都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息。例如,假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就
需要知道用户的年龄,这样才能给出答案。因此,这种程序需要让用户输
入 其年龄,再将其与投票年龄进行比较,以判断用户是否到了投票的年龄,再给出结果。
在本章中,你将学习如何接受用户输入,让程序能够对其进行处理。在程序需要一个名字时,你需要提示用户输入该名字;程序需要一个名单时,你需要提示用户输
入一系列名字。为此,你需要使用函数 input()
你还将学习如何让程序不断地运行,让用户能够根据需要输入信息,并在程序中使用这些信息。为此,你需要使用 while 循环让程序不断地运行,直到指定的条件不
满足为止。
通过获取用户输入并学会控制程序的运行时间,可编写出交互式程序。
7.1 函数input()的工作原理
函数 input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后, Python 将其存储在一个变量中,以方便你使用。
例如,下面的程序让用户输入一些文本,再将这些文本呈现给用户: parrot.py
message = input("Tell me something, and I will repeat it back to you: ")
print(message)
函数 input() 接受一个参数:即要向用户显示的提
示 或说明,让用户知道该如何做。在这个示例中, Python 运行第 1 行代码时,用户将看到提示 Tell me something, and
I will repeat it back to you: 。程序等待用户输入,并在用户按回车键后继续运行。输入存储在变量 message 中,接下来的 print(message) 将输入呈现给用
户:
Tell me something, and I will repeat it back to you: Hello everyone!
Hello everyone! 
注意
Sublime Text 不能运行提示用户输入的程序。你可以使用 Sublime Text 来编写提示用户输入的程序,但必须从终端运行它们。详情请参阅 1.4 节。
7.1.1 编写清晰地程序  
每当你使用函数 input() 时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息 —— 指出用户该输入任何信息的提示都行,如下所示:
greeter.py
name = input("Please enter your name: ")
print("Hello, " + name + "!")
通过在提示末尾(这里是冒号后面)包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处,如下所示:
Please enter your name: Eric
Hello, Eric!
有时候,提示可能超过一行,例如,你可能需要指出获取特定输入的原因。在这种情况下,可将提示存储在一个变量中,再将该变量传递给函数 input() 。这样,即便提示超过
一行, input() 语句也非常清晰。
>>> name=input('hello :')
hello :bob
>>> print(name)
bob
greeter.py
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("\nHello, " + name + "!")
这个示例演示了一种创建多行字符串的方式。第1行将消息的前半部分存储在变量prompt 中;在第2行中,运算符+= 在存储在prompt 中的字符串末尾附加一个字符串。
最终的提示横跨两行,并在问号后面包含一个空格,这也是出于清晰考虑:
If you tell us who you are, we can personalize the messages you see.
What is your first name? Eric
Hello, Eric!
7.1.2 使用int()来获取数值输入
使用函数input() 时,Python 将用户输入解读为字符串。请看下面让用户输入其年龄的解释器会话:
>>> age = input("How old are you? ")
How old are you? 21
>>> age
'21'
用户输入的是数字 21 ,但我们请求 Python 提供变量 age 的值时,它返回的是 '21' —— 用户输入的数值的字符串表示。我们怎么知道 Python将输入解读成了字符串呢?因为这个数
字用引号括起了。如果我们只想打印输入,这一点问题都没有;但如果你试图将输入作为数字使用,就会引发错误:
>>> age = input("How old are you? ")
How old are you? 21
>>> age >= 18
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() >= int()
你试图将输入用于数值比较时(见 ), Python 会引发错误,因为它无法将字符串和整数进行比较:不能将存储在 age 中的字符串 '21' 与数值 18 进行比较(见 )。
为解决这个问题,可使用函数int() ,它让Python将输入视为数值。函数int() 将数字的字符串表示转换为数值表示,如下所示:
>>> age = input("How old are you? ")
How old are you? 21
>>> age = int(age)
>>> age >= 18
True
在这个示例中,我们在提示时输入 21 后, Python 将这个数字解读为字符串,但随后 int() 将这个字符串转换成了数值表示(见 )。这样 Python 就能运行条件测试了:将变
age (它现在包含数值 21 )同 18 进行比较,看它是否大于或等于 18 。测试结果为 True
如何在实际程序中使用函数 int() 呢?请看下面的程序,它判断一个人是否满足坐过山车的身高要求:
rollercoaster.py
height = input("How tall are you, in inches? ")
height = int(height)
if height >= 36:
print("\nYou're tall enough to ride!")
else:
print("\nYou'll be able to ride when you're a little older.")
在这个程序中,为何可以将 height 36 进行比较呢?因为在比较前, height = int(height) 将输入转换成了数值表示。如果输入的数字大于或等于 36 ,我们就告诉用户
他满足身高条件:
How tall are you, in inches? 71
You're tall enough to ride!
将数值输入用于计算和比较前,务必将其转换为数值表示。
>>> age=int(input('name: '))
name: 21
>>> age
21
>>> print(age)
21
7.1.3 求模运算符
处理数值信息时,求模运算 符 ( % )是一个很有用的工具,它将两个数相除并返回余数:
>>> 4 % 3
1
>>> 5 % 3
2
>>> 6 % 3
0
>>> 7 % 3
1
求模运算符不会指出一个数是另一个数的多少倍,而只指出余数是多少。
如果一个数可被另一个数整除,余数就为 0 ,因此求模运算符将返回 0 。你可利用这一点来判断一个数是奇数还是偶数:
even_or_odd.py
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.")   # even 偶数
else:
print("\nThe number " + str(number) + " is odd.")  #  odd 奇数 
偶数都能被 2 整除,因此对一个数( number )和 2 执行求模运算的结果为零,即 number % 2 == 0 ,那么这个数就是偶数;否则就是奇数。
Enter a number, and I'll tell you if it's even or odd: 42
The number 42 is even.
7.1.4 在Python2.7中获取输入
如果你使用的是 Python 2.7 ,应使用函数 raw_input() 来提示用户输入。这个函数与 Python 3 中的 input() 一样,也将输入解读为字符串。
Python 2.7 也包含函数 input() ,但它将用户输入解读为 Python 代码,并尝试运行它们。因此,最好的结果是出现错误,指出 Python 不明白输入的代码;而最糟的结果是,将运行
你原本无意运行的代码。如果你使用的是 Python 2.7,请使用raw_input() 而不是input() 来获取输入。
动手试一试
 
7-1
汽车
车租
租赁
赁 :编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,如 “LetmeseeifIcan find you a Subaru”
7-2
餐馆
馆订
订位
位 :编写一个程序,询问用户有多少人用餐。如果超过 8 人,就打印一条消息,指出没有空桌;否则指出有空桌。
7-3 10
的整
整数
数倍
倍 :让用户输入一个数字,并指出这个数字是否是 10 的整数倍。
7.2 while循环简介
for 循环用于针对集合中的每个元素都一个代码块,而 while 循环不断地运行,直到指定的条件不满足为止。
7.2.1  使用while循环
你可以使用 while 循环来数数,例如,下面的 while 循环从 1 数到 5
counting.py
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
在第 1 行,我们将 current_number 设置为 1 ,从而指定从 1 开始数。接下来的 while 循环被设置成这样:只要 current_number 小于或等于 5 ,就接着运行这个循环。循环中
的代码打印 current_number 的值,再使用代码 current_number += 1 (代码 current_number = current_number + 1 的简写)将其值加 1
只要满足条件 current_number <= 5 Python 就接着运行这个循环。由于 1 小于 5 ,因此 Python 打印 1 ,并将 current_number 1 ,使其为 2 ;由于 2 小于 5 ,因此 Python
2 ,并将 current_number 1 ,使其为 3 ,以此类推。一旦 current_number 大于 5 ,循环将停止,整个程序也将到此结束:
1
2
3
4
5
你每天使用的程序很可能就包含 while 循环。例如,游戏使用 while 循环,确保在玩家想玩时不断运行,并在玩家想退出时停止运行。如果程序在用户没有让它停止时停止运
行,或者在用户要退出时还继续运行,那就太没有意思了;有鉴于此, while 循环很有用。
7.2.2 让用户选择何时退出
可使用 while 循环让程序在用户愿意时不断地运行,如下面的程序 parrot.py 所示。我们在其中定义了一个退出值,只要用户输入的不是这个值,程序就接着运行:
parrot.py
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)   # prompt 温馨提示
print(message)
处,我们定义了一条提示消息,告诉用户他有两个选择:要么输入一条消息,要么输入退出值(这里为 'quit' )。接下来,我们创建了一个变量 —— message (见 ),
用于存储用户输入的值。我们将变量 message 的初始值设置为空字符串 "" ,让 Python 首次执行 while 代码行时有可供检查的东西。 Python 首次执行 while 语句时,需要
message 的值与 'quit' 进行比较,但此时用户还没有输入。如果没有可供比较的东西, Python 将无法继续运行程序。为解决这个问题,我们必须给变量 message 指定一个
初始值。虽然这个初始值只是一个空字符串,但符合要求,让 Python 能够执行 while 循环所需的比较。只要 message 的值不是 'quit' ,这个循环(见 )就会不断运行。
首次遇到这个循环时, message 是一个空字符串,因此 Python 进入这个循环。执行到代码行 message = input(prompt) 时, Python 显示提示消息,并等待用户输入。不管用
户输入是什么,都将存储到变量 message 中并打印出来;接下来, Python 重新检查 while 语句中的条件。只要用户输入的不是单词 'quit' Python 就会再次显示提示消息并等
待用户输入。等到用户终于输入 'quit' 后, Python 停止执行 while 循环,而整个程序也到此结束:
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. Hello everyone!
Hello everyone!
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. Hello again.
Hello again.
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. quit
quit
这个程序很好,唯一美中不足的是,它将单词 'quit' 也作为一条消息打印了出来。为修复这种问题,只需使用一个简单的 if 测试:
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)
if message != 'quit':
print(message)
现在,程序在显示消息前将做简单的检查,仅在消息不是退出值时才打印它:
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. Hello everyone!
Hello everyone!
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. Hello again.
Hello again.
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. quit
7.2.3 使用标志
在前一个示例中,我们让程序在满足指定条件时就执行特定的任务。但在更复杂的程序中,很多不同的事件都会导致程序停止运行;在这种情况下,该怎么办呢?
例如,在游戏中,多种事件都可能导致游戏结束,如玩家一艘飞船都没有了或要保护的城市都被摧毁了。导致程序结束的事件有很多时,如果在一条 while 语句中检查所有这些
条件,将既复杂又困难。 在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标
志 ,充当了程序的交通信号灯。你可让程序在标志
True 时继续运行,并在任何事件导致标志的值为 False 时让程序停止运行。这样,在 while 语句中就只需检查一个条件 —— 标志的当前值是否为 True ,并将所有测试(是
否发生了应将标志设置为 False 的事件)都放在其他地方,从而让程序变得更为整洁。
下面来在前一节的程序 parrot.py 中添加一个标志。我们把这个标志命名为 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 = False
else:
print(message)
我们将变量 active 设置成了 True (见 ),让程序最初处于活动状态。这样做简化了 while 语句,因为不需要在其中做任何比较 —— 相关的逻辑由程序的其他部分处理。只
要变量 active True ,循环就将继续运行(见 )。
while 循环中,我们在用户输入后使用一条 if 语句来检查变量 message 的值。如果用户输入的是 'quit' (见 ),我们就将变量 active 设置为 False ,这将导
while 循环不再继续执行。如果用户输入的不是 'quit' (见 ),我们就将输入作为一条消息打印出来。
这个程序的输出与前一个示例相同。在前一个示例中,我们将条件测试直接放在了 while 语句中,而在这个程序中,我们使用了一个标志来指出程序是否处于活动状态,这样如
果要添加测试(如 elif 语句)以检查是否发生了其他导致 active 变为 False 的事件,将很容易。在复杂的程序中,如很多事件都会导致程序停止运行的游戏中,标志很有
用:在其中的任何一个事件导致活动标志变成 False 时,主游戏循环将退出,此时可显示一条游戏结束消息,并让用户选择是否要重新玩。
7.2.4 使用break推出循环
要立即退出 while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用 break 语句。 break 语句用于控制程序流程,可使用它来控制哪些代码行将执行,
哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。
例如,来看一个让用户指出他到过哪些地方的程序。在这个程序中,我们可以在用户输入 'quit' 后使用 break 语句立即退出 while 循环:
cities.py
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() + "!")
while True 打头的循环(见 )将不断运行,直到遇到 break 语句。这个程序中的循环不断输入用户到过的城市的名字,直到他输入 'quit' 为止。用户输入 'quit'
后,将执行 break 语句,导致 Python 退出循环:
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) New York
I'd love to go to New York!
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) San Francisco
I'd love to go to San Francisco!
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) quit
在任何 Python循环中都可使用break 语句。例如,可使用break 语句来退出遍历列表或字典的for 循环。
7.2.5 在循环中使用continue
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用 continue 语句,它不像 break 语句那样不再执行余下的代码并退出整个循环。例如,来看一个从 1
10 ,但只打印其中偶数的循环:
counting.py
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
我们首先将 current_number 设置成了 0 ,由于它小于 10 Python 进入 while 循环。进入循环后,我们以步长 1 的方式往上数(见 ),因此 current_number 1 。接下
来, if 语句检查 current_number 2 的求模运算结果。如果结果为 0 (意味着 current_number 可被 2 整除),就执行 continue 语句,让 Python 忽略余下的代码,并返回
到循环的开头。如果当前的数字不能被 2 整除,就执行循环中余下的代码, Python 将这个数字打印出来:
1
3
5
7
9
7.2.6 避免无限循环
每个 while 循环都必须有停止运行的途径,这样才不会没完没了地执行下去。例如,下面的循环从 1 数到 5
counting.py
x = 1
while x <= 5:
print(x)
x += 1
但如果你像下面这样不小心遗漏了代码行 x += 1 ,这个循环将没完没了地运行:
# 这个循环将没完没了地运行!
x = 1
while x <= 5:
print(x)
在这里, x 的初始值为 1 ,但根本不会变,因此条件测试 x <= 5 始终为 True ,导致 while 循环没完没了地打印 1 ,如下所示:
1
1
1
1
--snip--
每个程序员都会偶尔因不小心而编写出无限循环,在循环的退出条件比较微妙时尤其如此。如果程序陷入无限循环,可按 Ctrl+ C 也可关闭显示程序输出的终端窗口。
要避免编写无限循环,务必对每个 while 循环进行测试,确保它按预期那样结束。如果你希望程序在用户输入特定值时结束,可运行程序并输入这样的值;如果在这种情况下程
序没有结束,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为 False 或让 break 语句得以执行。
意 有些编辑器(如 Sublime Text )内嵌了输出窗口,这可能导致难以结束无限循环,因此不得不关闭编辑器来结束无限循环。
动手
手试
试一
一试
7-4
比萨
萨配
配料
料 :编写一个循环,提示用户输入一系列的比萨配料,并在用户输入 'quit' 时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨
中添加这种配料。
7-5
电影
影票
票 :有家电影院根据观众的年龄收取不同的票价:不到 3 岁的观众免费; 3~12 岁的观众为 10 美元;超过 12 岁的观众为 15 美元。请编写一个循环,在其中询问用
户的年龄,并指出其票价。
7-6
三个
个出
出口
口 :以另一种方式完成练习 7-4 或练习 7-5 ,在程序中采取如下所有做法。
while 循环中使用条件测试来结束循环。
使用变量 active 来控制循环结束的时机。
使用 break 语句在用户输入 'quit' 时退出循环。
7-7
无限
限循
循环
环 :编写一个没完没了的循环,并运行它(要结束该循环,可按 Ctrl+C ,也可关闭显示输出的窗口)。
7.3 使用while循环来处理列表和字典
到目前为止,我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或作出应答;循环再次运行时,我们获悉另一个输入值并作出响应。然而,要记录大量的
用户和信息,需要在 while 循环中使用列表和字典。
for 循环是一种遍历列表的有效方式,但在for 循环中不应修改列表,否则将导致Python 难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用 while 循环。通过
while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
7.3.1 在列表之间移动元素
假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,如何将他们移到另一个已验证用户列表中呢?一种办法是使用一个 while 循环,在验证用户的同时
将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中。代码可能类似于下面这样:
confirmed_users.py
# 首先,创建一个待验证用户列表
# 和一个用于存储已验证用户的空列表
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 users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
我们首先创建了一个未验证用户列表(见 ),其中包含用户 Alice Brian Candace ,还创建了一个空列表,用于存储已验证的用户。 处的 while 循环将不断地运行,直到列
unconfirmed_users 变成空的。在这个循环中, 处的函数pop() 以每次一个的方式从列表unconfirmed_users 末尾删除未验证的用户。 由于 Candace 位于列
unconfirmed_users 末尾,因此其名字将首先被删除、存储到变量 current_user 中并加入到列表 confirmed_users 中(见 )。接下来是 Brian ,然后是 Alice 为模拟用户验证过程,我们打印一条验证消息并将用户加入到已验证用户列表中。未验证用户列表越来越短,而已验证用户列表越来越长。未验证用户列表为空后结束循环,再
打印已验证用户列表:
Verifying user: Candace
Verifying user: Brian
Verifying user: Alice
The following users have been confirmed:
Candace
Brian
Alice
7.3.2 删除包含特定值的所有列表元素
在第 3 章中, 我们使用函数remove() 来删除列表中的特定值,这之所以可行,是因为要删除的值在列表中只出现了一次。 如果要删除列表中所有包含特定值的元素,该怎么办
呢?
假设你有一个宠物列表,其中包含多个值为 'cat' 的元素。要删除所有这些元素,可不断运行一个 while 循环,直到列表中不再包含值 'cat' ,如下所示:
pets.py
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' 还包含在列表中,因此再次进入循环。它不断删除 'cat' ,直到这个值不再包含在列表中,然后退出循环并再次打
印列表:
['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'dog', 'goldfish', 'rabbit']
7.3.3 使用用户输入来填充字典
可使用 while 循环提示用户输入任意数量的信息。下面来创建一个调查程序,其中的循环每次执行时都提示输入被调查者的名字和回答。我们将收集的数据存储在一个字典中,以
便将回答同被调查者关联起来:
mountain_poll.py
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():     #in的用法: https://blog.csdn.net/nyist_yangguang/article/details/106711108
print(name + " would like to climb " + response + ".")
这个程序首先定义了一个空字典( responses ),并设置了一个标志( polling_active ),用于指出调查是否继续。只要 polling_active True Python 就运
while 循环中的代码。
在这个循环中,提示用户输入其用户名及其喜欢爬哪座山(见 )。将这些信息存储在字典 responses 中(见 ),然后询问用户调查是否继续(见 )。如果用户输入 yes
,程序将再次进入 while 循环;如果用户输入 no ,标志 polling_active 将被设置为 False ,而 while 循环将就此结束。最后一个代码块(见 )显示调查结果。
如果你运行这个程序,并输入一些名字和回答,输出将类似于下面这样:
What is your name? Eric
Which mountain would you like to climb someday? Denali
Would you like to let another person respond? (yes/ no) yes
What is your name? Lynn
Which mountain would you like to climb someday? Devil's Thumb
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
Lynn would like to climb Devil's Thumb.
Eric would like to climb Denali.
动手
手试
试一
一试
7-8
熟食
食店
店 :创建一个名为 sandwich_orders 的列表,在其中包含各种三明治的名字;再创建一个名为 finished_sandwiches 的空列表。遍历列
sandwich_orders ,对于其中的每种三明治,都打印一条消息,如 I made your tuna sandwich ,并将其移到列表 finished_sandwiches 。所有三明 治都制作好后,打印一条消息,将这些三明治列出来。
7-9
五香
香烟
烟熏
熏牛
牛肉
肉(
pastrami
)卖
卖完
完了
了 :使用为完成练习 7-8 而创建的列表 sandwich_orders ,并确保 'pastrami' 在其中至少出现了三次。在程序开头附近添加
这样的代码:打印一条消息,指出熟食店的五香烟熏牛肉卖完了;再使用一个 while 循环将列表 sandwich_orders 中的 'pastrami' 都删除。确认最终的列
finished_sandwiches 中不包含 'pastrami'
7-10
梦想
想的
的度
度假
假胜
胜地
地 :编写一个程序,调查用户梦想的度假胜地。使用类似于 “If you could visit one placein the world, where would you go?” 的提示,并编写一个打印调查
结果的代码块。
7.4 小结
在本章中,你学习了:如何在程序中使用input() 来让用户提供信息;如何处理文本和数字输入,以及如何使用while 循环让程序按用户的要求不断地运行;多种控制while
循环流程的方式:设置活动标志、使用break 语句以及使用continue 语句;如何使用while 循环在列表之间移动元素,以及如何从列表中删除所有包含特定值的元素;如何
结合使用while 循环和字典。
在第8章中,你将学习函数。函数让你能够将程序分成多个很小的部分,其中每部分都负责完成一项具体任务。你可以根据需要调用同一个函数任意次,还可将函数存储在独立的
文件中。使用函数可让你编写的代码效率更高,更容易维护和排除故障,还可在众多不同的程序中重用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的探索之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值