python编程从入门到实践(第二版)第七章 课后练习题

"""练习7-1  汽车租赁
编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息
,如“Let me see if I can find you a Subaru.”。"""
car = input('请输入你想要的车型: ')
print('我要租一辆: ' + car )
"""练习7-2  餐馆订位
编写一个程序,询问用户有多少人用餐。如果超过8位,
就打印一条消息,指出没有空桌;否则就指出有空桌。"""

party_size = int(input("请输入就餐人数: "))  # 把输入的字符串转为整数
if party_size > 8:  # 如果就餐人数大于 8
    print("对不起没有那么多位置")  # 就打印
else:  # 反之
    print("好的我马上安排")
"""练习7-3  10的整数倍
让用户输入一个数字,并指出这个数字是否是10的整数倍。"""

number = int(input("请输入数字: "))
if number % 10 == 0:  # 如果余数等于0
    print(f"{number} 是10的倍数.")  # 打印是
else:  # 反之
    print(f"{number} 不是10的倍数.")  # 打印不是
"""练习7-4  比萨配料
编写一个循环,提示用户输入一系列的比萨配料,并在用户输入'quit'时结束循环。
每当用户输入一种配料后,都打印一条消息,说我们会在比萨中添加这种配料。"""

prompt = "你要在披萨中添加什么配料:"
while True:  # 循环为真
    topping = input(prompt)  # 把 prompt变量作为值赋给 input函数
    if topping != 'quit':  # 如果客户没有输入 quit
        print(f" 我把 {topping} 添加在披萨中了")  # 就打印
    else:  # 反之如果客户输入了 quit
        break  # 结束程序
"""练习7-5  电影票
有家电影院根据观众的年龄收取不同的票价:
不到3岁的观众免费;3~12岁的观众为10美元
;超过12岁的观众为15美元。请编写一个循环
,在其中询问用户的年龄,并指出其票价。"""

prompt = "欢迎光临电影院!"
prompt += "请输入你的年龄:"
while True:  # 循环为真
    age = input(prompt)  # 把 prompt变量作为值赋给 input函数
    if age == 'quit': # 如果顾客输入 quit
        break  # 就结束程序
    age = int(age)  # 把 age 转为整数
    if age < 3:  # 如果年龄小于 3
        print(" 你可以免费观看!")  # 打印
    elif age < 13:  # 如果年龄小于 13
        print(" 您需支付 $10.")  # 打印
    else:  # 反之以上不成立
        print(" 您需支付 $15.")  # 打印
"""练习7-6 三种出路
以不同的方式完成7-4活7-5的练习要求:
1.在while循环中使用条件测试来结束循环
2.使用变量active来控制结束
3.使用break语句在用户输入‘quit’时退出  。"""

# 1.在while循环中使用条件测试来结束循环
prompt = ""   #  变量为空
while prompt != 'quit':  # 输入'quit'结束循环
    prompt = input("你要在披萨中添加什么配料:")
    if prompt != 'quit':  # 如果prompt不等于quit就循环

        print(f" 我把 {prompt} 添加在披萨中了")  # 就打印

# 2.使用变量active来控制结束
# active = True  # active为真
# while active:  # 无限循环
#     prompt = input("你要在披萨中添加什么配料::")
#     if prompt == 'quit':
#         active = False
#     else:
#         print(f" 我把 {prompt} 添加在披萨中了")

# 3.使用break语句在用户输入‘quit’时退出
# prompt = "你要在披萨中添加什么配料:"
# while True:  # 循环为真
#     topping = input(prompt)  # 把 prompt变量作为值赋给 input函数
#     if topping != 'quit':  # 如果客户没有输入 quit
#         print(f" 我把 {topping} 添加在披萨中了")  # 就打印
#     else:  # 反之如果客户输入了 quit
#         break  # 结束程序
"""7-7 无限循环 
编写一个没完没了的循环,并运行它(要结束该循环,可按Ctrl +C,也可关闭显示输出的窗口)"""

while True:
    print("您好python")
"""练习7-8  熟食店
创建一个名为sandwich_orders的列表,在其中包含各种三明治的名字;
再创建一个名为finished_sandwiches的空列表。遍历列表sandwich_orders,
对于其中的每种三明治,都打印一条消息,
如I made your tuna sandwich,并将其移到列表finished_sandwiches。
所有三明治都制作好后,打印一条消息,将这些三明治列出来。"""

sandwich_orders = ['veggie', 'grilled cheese', 'turkey', 'roast beef']  # 三明治 = 【各种口味】
finished_sandwiches = []  #  做好的三明治 = 【  】
while sandwich_orders:  # 无限循环在三明治里面
    current_sandwich = sandwich_orders.pop()  # 设置变量接收循环删除三明治列表的最后一个值
    print(f"I'm working on your {current_sandwich} sandwich.")  # 打印我们正在为您准备{三明治列表的最后一个值}
    finished_sandwiches.append(current_sandwich)  # 把{三明治列表的最后一个值}添加到【做好的三明治】列表
print("\n")  # 换行
for sandwich in finished_sandwiches:  # 让临时变量循环在【做好的三明治】列表取值
    print(f"I made a {sandwich} sandwich.")  # 打印你的临时变量已经做好
"""练习7-9  五香烟熏牛肉卖完了
1.使用为完成练习7-8而创建的列表sandwich_orders,并确保'pastrami'在其中至少出现了三次
2.在程序开头附近添加这样的代码:打印一条消息,指出熟食店的五香烟熏牛肉(pastrami)卖完了;
3.再使用一个while循环将列表sandwich_orders中的'pastrami'都删除。
4.确认最终的列表finished_sandwiches中未包含'pastrami'。"""

# 1
sandwich_orders = [ 'pastrami', 'veggie', 'grilled cheese', 'pastrami',  # 三明治 = 【各种口味】
                    'turkey', 'roast beef', 'pastrami']

finished_sandwiches = []  #  做好的三明治 = 【  】

# 2
print("对不起 pastrami 三明治没有了")  # 对不起 pastrami 三明治没有了

# 3
while 'pastrami' in sandwich_orders:  # pastrami 味的,在三明治里面循环
    sandwich_orders.remove('pastrami')  # 删除三明治中的 pastrami 看味
print("\n")  # 换行

while sandwich_orders:  # 循环三明治
    current_sandwich = sandwich_orders.pop()  # 设置变量接收循环删除三明治列表的最后一个值   
    print(f"我们正在为您做 {current_sandwich} 口味的三明治")# 打印我们正在为您做 current_sandwich 口味的三明治
    finished_sandwiches.append(current_sandwich)  # 把{三明治列表的最后一个值}添加到【做好的三明治】列表
print("\n")  # 换行

# 4
for sandwich in finished_sandwiches:  # 让临时变量循环在【做好的三明治】列表取值
    print(f"我做了一个 {sandwich} 口味的三明治.")  # 打印我做了一个【临时变量】三明治
"""练习7-10  梦想的度假胜地
编写一个程序,调查用户梦想的度假胜地。
使用类似于“If you could visit one place in the world, where would you go?”的提示,
并编写一个打印调查结果的代码块"""

# 1.提示语
name_prompt = "\n你的名字: "
place_prompt = "如果你能去世界上的一个地方,你会去哪里? "
continue_prompt = "\n是否继续询问:? (yes/no) "

# 2. 调查结果将存储在形如{name: place}的字典中。
responses = {}

# 3.无线循环询问
while True:
    # 询问用户的名字想去哪里度假。
    name = input(name_prompt)
    place = input(place_prompt)

    # 存储调查结果存储字典。
    responses[name] = place  # {名字: 地方}

    # 循环结束条件
    repeat = input(continue_prompt)
    if repeat != 'yes':  # 结束循环就输入‘no’
        break  # 结束循环

# 4. 显示调查结果。
print("\n--- 输出结果 ---")
for name, place in responses.items():  # 遍历字典
    print(name.title() + " 想去 " + place.title() + ".")  # 输出键和值

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值