Python编程从入门到实践 第七章:用户输入和while循环 练习答案记录
练习题导航
- Python编程从入门到实践 第七章:用户输入和while循环 练习答案记录
- 7.1 函数input()的工作原理
- 7.1.1 编写清晰的程序
- 7.1.2 使用int()来获取数值输入
- 7.1.3 求模运算符
- 练习7-1 汽车租赁 : 编写一个程序, 询问用户要租赁什么样的汽车, 并打印一条消息, 如“Let me see if I can find you a Subaru”。
- 练习7-2 餐馆订位 : 编写一个程序, 询问用户有多少人用餐。 如果超过8人, 就打印一条消息, 指出没有空桌; 否则指出有空桌。
- 练习7-3 10的整数倍 : 让用户输入一个数字, 并指出这个数字是否是10的整数倍。
- 7.2 while循环
- 7.2.1 使用while循环
- 7.2.2 让用户选择何时退出
- 7.2.3 使用标志
- 7.2.4 使用break退出循环
- 7.2.5 在循环中使用continue
- 练习7-4 比萨配料 : 编写一个循环, 提示用户输入一系列的比萨配料, 并在用户输入'quit' 时结束循环。 每当用户输入一种配料后,都打印一条消息, 说我们会在比萨中添加这种配料。
- 练习7-5 电影票 : 有家电影院根据观众的年龄收取不同的票价: 不到3岁的观众免费; 3~12岁的观众为10美元; 超过12岁的观众为15美元。
- 练习7-6 三个出口 : 以另一种方式完成练习7-4或练习7-5, 在程序中采取如下所有做法。
- 练习7-7 无限循环 : 编写一个没完没了的循环, 并运行它(要结束该循环, 可按Ctrl +C, 也可关闭显示输出的窗口) 。
- 7.3 使用while循环处理列表和字典
- 7.3.1 在列表之间移动元素
- 7.3.2 删除为特定值的所有列表元素
- 7.3.3 使用用户输入来填充字典
- 练习7-8 熟食店 : 创建一个名为sandwich_orders 的列表, 在其中包含各种三明治的名字; 再创建一个名为finished_sandwiches 的空列表。
- 练习7-9 五香烟熏牛肉(pastrami) 卖完了 : 使用为完成练习7-8而创建的列表sandwich_orders ,并确保'pastrami' 在其中至少出现了三次。 在程序开头附近添加这样的代码: 打印一条消息, 指出熟食店的五香烟熏牛肉卖完了;再使用一个while 循环将列表sandwich_orders 中的'pastrami' 都删除。 确认最终的列表finished_sandwiches 中不包含'pastrami' 。
- 练习7-10 梦想的度假胜地 : 编写一个程序, 调查用户梦想的度假胜地。
- 7.4 小结
7.1 函数input()的工作原理
7.1.1 编写清晰的程序
7.1.2 使用int()来获取数值输入
7.1.3 求模运算符
练习7-1 汽车租赁 : 编写一个程序, 询问用户要租赁什么样的汽车, 并打印一条消息, 如“Let me see if I can find you a Subaru”。
bus=input("What are you wan to bus:")
print(f"Let me see if I can find you a {bus}")
练习7-2 餐馆订位 : 编写一个程序, 询问用户有多少人用餐。 如果超过8人, 就打印一条消息, 指出没有空桌; 否则指出有空桌。
people=input("How many you are want to invite people:")
people=int(people)
if people>8:
print("没有空座")
else:
print("有空座")
练习7-3 10的整数倍 : 让用户输入一个数字, 并指出这个数字是否是10的整数倍。
digit=input("输入一个数字:")
digit=int(digit)
if digit%10==0:
print(f"{digit} 是10的整数倍")
else:
print(f"{digit} 不是10的整数倍")
7.2 while循环
7.2.1 使用while循环
7.2.2 让用户选择何时退出
7.2.3 使用标志
7.2.4 使用break退出循环
7.2.5 在循环中使用continue
练习7-4 比萨配料 : 编写一个循环, 提示用户输入一系列的比萨配料, 并在用户输入’quit’ 时结束循环。 每当用户输入一种配料后,都打印一条消息, 说我们会在比萨中添加这种配料。
pisa=" "
while pisa!='quit':
pisa=input("输入一种披萨配料:")
if pisa!='quit':
print(f"我们会在披萨中添加 {pisa} 配料")
练习7-5 电影票 : 有家电影院根据观众的年龄收取不同的票价: 不到3岁的观众免费; 3~12岁的观众为10美元; 超过12岁的观众为15美元。
请编写一个循环, 在其中询问用户的年龄, 并指出其票价。
age=" "
while age!=-1:
age=input("输入观众年龄:")
age=int(age)
if age>12:
print("15$")
elif age>3:
print("10$")
elif age<=3 and age>0:
print("0$")
else:
break
练习7-6 三个出口 : 以另一种方式完成练习7-4或练习7-5, 在程序中采取如下所有做法。
在while 循环中使用条件测试来结束循环。
使用变量active 来控制循环结束的时机。 使用break 语句在用户输入’quit’
时退出循环。
active=True
while active!=False:
age=input("输入观众年龄:")
age=int(age)
if age>12:
print("15$")
elif age>3:
print("10$")
elif age<=3 and age>0:
print("0$")
else:
active=False
练习7-7 无限循环 : 编写一个没完没了的循环, 并运行它(要结束该循环, 可按Ctrl +C, 也可关闭显示输出的窗口) 。
略
7.3 使用while循环处理列表和字典
7.3.1 在列表之间移动元素
7.3.2 删除为特定值的所有列表元素
7.3.3 使用用户输入来填充字典
练习7-8 熟食店 : 创建一个名为sandwich_orders 的列表, 在其中包含各种三明治的名字; 再创建一个名为finished_sandwiches 的空列表。
遍历列表sandwich_orders , 对于其中的每种三明治, 都打印一条消息, 如I made your tuna sandwich,并将其移到列表finished_sandwiches 。
所有三明治都制作好后, 打印一条消息, 将这些三明治列出来。
sandwich_orders=['a','b','c']
finished_sandwiches=[]
while sandwich_orders:
sandwich=sandwich_orders.pop()
print(f"I made your {sandwich} sandwich")
finished_sandwiches.append(sandwich)
for a in finished_sandwiches:
print(a)
练习7-9 五香烟熏牛肉(pastrami) 卖完了 : 使用为完成练习7-8而创建的列表sandwich_orders ,并确保’pastrami’ 在其中至少出现了三次。 在程序开头附近添加这样的代码: 打印一条消息, 指出熟食店的五香烟熏牛肉卖完了;再使用一个while 循环将列表sandwich_orders 中的’pastrami’ 都删除。 确认最终的列表finished_sandwiches 中不包含’pastrami’ 。
sandwich_orders=['pastrami','a','pastrami','b','c','pastrami']
finished_sandwiches=[]
print('pastrami'+"卖完了")
while 'pastrami'in sandwich_orders:
sandwich_orders.remove('pastrami')
while sandwich_orders:
sandwich=sandwich_orders.pop()
print(f"I made your {sandwich} sandwich")
finished_sandwiches.append(sandwich)
for a in finished_sandwiches:
print(a)
练习7-10 梦想的度假胜地 : 编写一个程序, 调查用户梦想的度假胜地。
使用类似于“If you could visit one place in the world, where would you go?”的提示, 并编写一个打印调查结果的代码块.
travel={}
ends='yes'
while ends!='no':
location=input("请输入想去的地方:")
people=input("带哪个朋友:")
travel[location]=people
ends=input("是否继续\'yes or no\'")
for m,n in travel.items():
print(f"输入想去的地方:{m} 带哪个朋友:{n}")