- 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.在程序中采取如下所有做法口在
- while 循环中使用条件测试来结束循环。
- 使用变量 active来控制循环结束的时机。
- 使用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}')