Python编程从入门到实践答案6


这本书是我自学Python的第一本书,里面的习题都在寒假已经完成,由于当时博客尚未搭建,故里面题目的答案并未发表。现在在开发项目博客没有新内容更新,因此这段实践会陆续上传原来的习题答案。每个题目均为自己设计的代码,优化与重构方面与标准答案可能有所不同。

参考教材:《Python编程从入门到实践》 【美】 Eric Matthes 著

Chapter7

7-1 汽车租赁:编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,如“Let me see if I can find you a Subaru”。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
car = input("Hello,what type car is you want to have? ")
print("Let me see if I can find you a " + car + ".")

7-2 餐厅订位L:编写一个程序,询问用户有多少人用餐。如果超过8人,就打印一条消息,指出没有空桌;否则指出有空桌。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
number = input("How many people are in your dinner party tonight? ")
number = int(number)
if number > 8:
    print("I'm sorry, you'll have to wait for a table.")
else:
    print("Your table is ready.")

7-3 10的整数倍:让用户输入一个数字,并指出这个数字是否是10的整数倍。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
number = input("Please enter a number,and I'll tell you if it's a multiple of 10. ")
number = int(number)
if number % 10 == 0:
    print("It's a multiple of 10.")
else:
    print("It is't a multiple of 10.")

7-4 比萨配料:编写一个循环,提示用户输入一系列的比萨配料,并在用户输入’quit’时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨中添加这种配料。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
prompt = "\nPlease enter the toppings that you want to have."
prompt += "\nAnd if you enter 'quit',we will finished. "

while True:
    topping = input(prompt)
    if topping != 'quit':
        print("I'll add " + topping + " to your pizza.")
    else:
        break

7-5 电影票:有家电影院根据观众的年龄收取不同的票价;不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,并指出其票价。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
prompt = "How old are you?"
prompt += "\nEnter 'quit' when you are finished. "
while True:
    age = input(prompt)
    if age == "quit":
        break
    age = int(age)
    if age < 3:
        print("You get in free!")
    elif age < 13:
        print("Your ticket is $10.")
    else:
        print("Your ticket is $15.")

7-6 三个入口:以另一种方式完成练习7-4或练习7-5,在程序中采取如下所有做法。

□ 在while循环中使用条件测试来结束循环。

□ 使用变量active来控制循环结束的时机。

□ 使用break语句在用户输入‘quit’时退出循环。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
prompt = "How old are you?"
prompt += "\nEnter 'quit' when you are finished. "
active = True
while active:
    age = input(prompt)
    if age == "quit":
        break
    age = int(age)
    if age < 3:
        print("You get in free!")
    elif age < 13:
        print("Your ticket is $10.")
    else:
        print("Your ticket is $15.")

7-7 无限循环:编写一个没完没了的循环,并运行它(要结束该循环,可按Ctrl+C,也可关闭显示输出的窗口)。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
while True:
    number = input("Please enter a number!")
    print(str(number))

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-
sandwich_orders = ['meat', 'eggplant', 'fruit']
finished_sandwiches = []
while sandwich_orders:
    current_sandwich = sandwich_orders.pop()
    print("I made your " + current_sandwich + " sandwich.")
    finished_sandwiches.append(current_sandwich)
print("\nThe following sandwich have been finished")
for finished_sandwiched in finished_sandwiches:
    print(finished_sandwiched)

7-9 五项烟熏牛肉(pastrami)卖完了:使用为练习7-8而创建的列表sandwich_orders,并确保’pastrami’在其中至少出现了三次。在程序开头附近添加这样的代码;打印一条消息,指出熟食店的五香烟熏牛肉卖完了;再使用一个while循环将列表sandwich_orders中的’pastrami’都删除。确保最终的列表finished_sandwiches中不包含’pastrami’。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
sandwich_orders = ['meat', 'pastrami', 'eggplant', 'pastrami', 'fruit', 'pastrami']
print("Sorry,pastrami has been sold.")
while 'pastrami' in sandwich_orders:
    sandwich_orders.remove('pastrami')
print(sandwich_orders)

7-10 梦想的度假胜地:编写一个程序,调查用户梦想的度假胜地。使用类似于’If you could visit one place in the world,where would you go?’的提示,并编写一个打印调查结果的代码块。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
responses = {}
# 先设置一个标记
active = True
while active:
    # 先采集用户的姓名
    name = input("What is your name! ")
    response = input("which places would you like to visit in the world. ")
    responses[name] = response
    repeat = input("Would you like to let another person respond?(yes/no)")
    if repeat == 'no':
        active = False
# 展示采集的信息
print("\n--- Poll Results ---")
for name,response in responses.items():
    print(name.title() + " want to visit " + response + ".")

文章作者: 陈细利
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 陈细利 !
评论
 上一篇
Python编程从入门到实践答案7 Python编程从入门到实践答案7
这本书是我自学Python的第一本书,里面的习题都在寒假已经完成,由于当时博客尚未搭建,故里面题目的答案并未发表。现在在开发项目博客没有新内容更新,因此这段实践会陆续上传原来的习题答案。每个题目均为自己设计的代码,优化与重构方面与标准答案可
下一篇 
Python编程从入门到实践答案5 Python编程从入门到实践答案5
这本书是我自学Python的第一本书,里面的习题都在寒假已经完成,由于当时博客尚未搭建,故里面题目的答案并未发表。现在在开发项目博客没有新内容更新,因此这段实践会陆续上传原来的习题答案。每个题目均为自己设计的代码,优化与重构方面与标准答案可
  目录