《python编程从入门到实践》第2版 第七章课后练习

第七章

练习7-1: 汽车租赁 编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,下面是一个例子。
Let me see if I can find you a Subaru.

car = input("Which car do you want to lease? ")
print(f"Let me see if i can find you a {car}.")

输出:

Let me see if i can find you a Subaru.

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

person_num = input("你们有多少人用餐?")
person_num  = int(person_num )
if person_num > 8:
    print("很抱歉,没有空桌了。")
else:
    print("欢迎订餐,有空桌。")

输出:

你们有多少人用餐?9
很抱歉,没有空桌了。

你们有多少人用餐?3
欢迎订餐,有空桌。

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

number = input("请输入一个数字:")
number = int(number)
if (number % 10 == 0):
    print("这个数是10的倍数")
else:
    print("这个数不是10的倍数")

输出:

请输入一个数字:0
这个数是10的倍数

请输入一个数字:10
这个数是10的倍数

请输入一个数字:35
这个数不是10的倍数

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

message = " "
while message != 'quit':
    message = input("请你输入您要加的配料:")
    if message != 'quit':
        print("我们会在披萨中加入" + message + "这种配料。")

输出:

请你输入您要加的配料:番茄酱
我们会在披萨中加入番茄酱这种配料。
请你输入您要加的配料:沙拉酱
我们会在披萨中加入沙拉酱这种配料。
请你输入您要加的配料:quit

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

prompt = "Enter 'quit' to end"
prompt += "\nPlease enter your age: "
 
while True:
    age = input(prompt)
 
    if age == 'quit':
        break
    else:
        if int(age) < 3:
            print("免费!")
        elif (int(age) >= 3) and (int(age) <= 12):
            print("您的票价为10元。")
        else:
            print("您的票价为15元。")

输出:

Enter 'quit' to end
Please enter your age: 2
免费!
Enter 'quit' to end
Please enter your age: 3
您的票价为10元。
Enter 'quit' to end
Please enter your age: 12
您的票价为10元。
Enter 'quit' to end
Please enter your age: 13
您的票价为15元。
Enter 'quit' to end
Please enter your age: quit

练习7-6: 三种出路 以不同的方式完成练习7-4或练习7-5,在程序中采取如下做法。
在while 循环中使用条件测试来结束循环。使用变量active 来控制循环结束的时机。使用break 语句在用户输入’quit’ 时退出循环。

代码同7-5。

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

while True:
    print("YeahYeahYeah!!!")

输出:

YeahYeahYeah!!!
YeahYeahYeah!!!
YeahYeahYeah!!!
YeahYeahYeah!!!
YeahYeahYeah!!!
...

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

sandwich_orders = ['vegetable', 'beef', 'tomato']
finished_sandwiches = []
 
while sandwich_orders:
    current_order = sandwich_orders.pop()
    print(f"I made your {current_order} sandwich.")
    finished_sandwiches.append(current_order)
 
print(f"\nFinished_sandwiches:")
for finished_sandwich in finished_sandwiches:
    print(finished_sandwich)


输出:

I made your tomato sandwich.
I made your beef sandwich.
I made your vegetable sandwich.

Finished_sandwiches:
tomato
beef
vegetable

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

sandwich_orders = ['pastrami', 'vegetable','pastrami', 'beef', 'tomato']
print("The pastrami was sold olt.")
 
while 'pastrami' in sandwich_orders:
    sandwich_orders.remove('pastrami')
print(sandwich_orders)

输出:

The pastrami was sold olt.
['vegetable', 'beef', 'tomato']

练习7-10: 梦想的度假胜地 编写一个程序,调查用户梦想的度假胜地。使用类似于下面的指示,并编写一个打印调查结果的代码块。

If you could visit one place in the world, where would you go?

responses = {}
polling_active = True

while polling_active:
    name = input("\nWhat is your name? ")
    response = input("If you could visit one place in the world, where would you go? ")
 
    responses[name] = response
 
    repeat = input("Would you like to let another person? (yes/no) ")
    if repeat == 'no':
        polling_active = False
 
print("\n-- Results ---")
for name,response in responses.items():
    print(name + " would like to visit " + response + ".")

输出:

What is your name? Eric
If you could visit one place in the world, where would you go? Nanjing
Would you like to let another person? (yes/no) yes

What is your name? Monica
If you could visit one place in the world, where would you go? Beijing
Would you like to let another person? (yes/no) no

-- Results ---
Eric would like to visit Nanjing.
Monica would like to visit Beijing.

你可能感兴趣的:(python,开发语言,算法)