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”。

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}")

在这里插入图片描述

7.4 小结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Is_LiuYiZheng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值