python从入门到实践-课后练习-第七章

  • 7-1汽车租赁:编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息如“Let me see if I can find you a Subaru
car = input('what kind of car would you like?')
print(f'let me see if I can find a {car} for you')
  • 7-2餐馆订位:编写一个程序,询问用户有多少人用餐。如果超过 8人,就打印一条消息,指出没有空桌;否则指出有空桌。
persons_number = int(input('how many persons do you have? please answer a number:'))
if persons_number > 8:
    print('there is no empty table')
else:
    print('come in')
  • 7-310的整数倍:让用户输入一个数字,并指出这个数字是否是 10的整数倍
number = int(input('give me a number: '))
if number % 10 == 0:
    print('this number is multiple of 10')
else:
    print('it is not multiple of 10')
  • 7-4 比萨配料:编写一个循环,提示用户输入一系列的比萨配料,并在用户输入quit"时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨中添加这种配料
message = '\nwhat topping would you like on your pizza'
message += '\n enter quit can finish'
material = []
while True:
    topping = input(message)
    if topping != 'quit':
        print(f'I will add {topping}')
        material.append(topping)
    else:
        print('your toppings include: ')
        for i in material:
            print('-' + i)
        break
  • 7-5 电影票:有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元:超过12岁的观众为15美元,请编写一个循环,在其中询问用户的年龄,并指出其票价
msg = 'how old are you? '
msg += 'enter quit to finish'
while True:
    age = input(msg)
    if age == 'quit':
        break
    else:
        age = int(age)
        if age < 3:
            print('free')
        elif age < 13:
            print('$10')
        else:
            print('$15')
  • 7-6三个出口:以另一种方式完成练习 7-4或练习7-5.在程序中采取如下所有做法口在
  1. while 循环中使用条件测试来结束循环。
  2. 使用变量 active来控制循环结束的时机。
  3. 使用break语句在用户输入'quit '时退出循环
msg = 'how old are you? '
msg += 'enter quit to finish'
active = True
while True:
    age = input(msg)
    if age == 'quit':
        break
    else:
        age = int(age)
        if age < 3:
            print('free')
        elif age < 13:
            print('$10')
        else:
            print('$15')
  • 7-7无限循环:编写一个没完没了的循环,并运行它(要结束该循环,可按 Ctrl+C也可关闭显示输出的窗口)
x = input('enter a number:')
while True:
    number = int(x)
    if number > 9:
        print(number)

 输入大于9的数即可无限循环

  • 7-8熟食店:创建一个名为 sandwich orders 的列表,在其中包含各种三明治的名字:再创建一个名为finished sandwiches 的空列表。遍历列表 sandwich orders,对其中的每种三明治,都打印一条消息,如Imade your tuna sandwich,并将其移到列表finished sandwiches。所有三明治都制作好后,打印一条消息,将这些三明治列出来
sandwich_order = ['beef', 'chicken', 'fish']
finished_sandwich = []
while sandwich_order:
    cook_sandwich = sandwich_order.pop(0)
    finished_sandwich.append(cook_sandwich)
    print(f'we start to make your {cook_sandwich} sandwich')
print('these sandwiches are finished: ')
for j in finished_sandwich:
    print('-' + j)
  • 7-9五香烟熏牛肉(pastrami)卖完了:使用为完成练习 7-8 而创建的列表sandwich orders,并确保 pastrami'在其中至少出现了三次。在程序开头附近添加这样的代码:打印一条消息,指出熟食店的五香烟熏牛肉卖完了;再使用一个while 循环将列表sandwich orders中的'pastrami'都删除。确认最终的列表finished sandwiches中不包舍'pastrami'
sandwich_order = ['pastrami', 'pastrami', 'tuna', 'beef', 'pastrami', 'chicken']
finished_sandwiches = []
print('pastrami is sold out')
while 'pastrami' in sandwich_order:
    sandwich_order.remove('pastrami')
print(sandwich_order)
while sandwich_order:
    make_sandwich = sandwich_order.pop()
    finished_sandwiches.append(make_sandwich)
print(finished_sandwiches)
  • 7-10梦想的度假胜地: 编写一个程序,调查用户梦想的度假胜地。使用类似于“If you could visit one place in the world,where would you go?”的提示,并编写一个打印调查结果的代码块。
name = '\nwhat is your name?'
resort = 'if you could vist one place in the world, where would it be?'
spread = '\n would you like to let someone else response? (Yes/No)'
name_dic = {}
while True:
    name_insert = input(name)
    resort_insert = input(resort)
    name_dic[name_insert] = resort_insert
    spread_insert = input(spread)
    if spread_insert == 'No':
        break
print(name_dic)
for key, value in name_dic.items():
    print(f'{key} want to go to {value}')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Charliewyzzzz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值