仅作练习记录,如有错误欢迎指正。
7-1 汽车租赁 : 编写一个程序, 询问用户要租赁什么样的汽车, 并打印一条消息, 如“Let me see if I can find you a Subaru”。
car = input('What kind of car would you like to rent? ')
print('Let me see if I can find you a '+car.title()+'.')
7-2 餐馆订位 : 编写一个程序, 询问用户有多少人用餐。 如果超过8人, 就打印一条消息, 指出没有空桌; 否则指出有空桌。
reservation = input('How many people come for eat? ')
reservation = int(reservation)
if reservation > 8:
print('Sorry,it has not table.')
else:
print('It has empty table now.')
7-3 10的整数倍 : 让用户输入一个数字, 并指出这个数字是否是10的整数倍。
numb = input('Please input a number,I will tell you the number is multiplier of ten! ')
numb = int(numb)
if numb % 10 == 0:
print(str(numb)+' is multiplier of ten!')
else:
print(str(numb)+' is not multiplier of ten!')
7-4 比萨配料 : 编写一个循环, 提示用户输入一系列的比萨配料, 并在用户输入'quit' 时结束循环。 每当用户输入一种配料后,都打印一条消息, 说我们会在比萨中添加这种配料。
toppings = '\nPlease add your pizza ingredients.'
toppings += "\n(Enter 'quit' when you are finished.) "
while True:
topping = input(toppings)
if topping == 'quit':
break
else:
print('I will add '+topping.title()+' in your pizza.')
7-5 电影票 : 有家电影院根据观众的年龄收取不同的票价: 不到3岁的观众免费; 3~12岁的观众为10美元; 超过12岁的观众为15美元。 请编写一个循环, 在其中询问用户的年龄, 并指出其票价。
print("Enter 'quit' when you are finished.")
prices = '\n请问您多大呢?我们是根据年龄段收费的。'
while True:
age = input(prices)
if age == 'quit':
break
elif int(age) < 3:
print('It is for free.')
elif int(age) <=12:
print('It costs 10 dollars.')
else:
print('It costs 15 dollars.')
7-6 三个出口 : 以另一种方式完成练习7-4或练习7-5, 在程序中采取如下所有做法。
toppings = '\nPlease add your pizza ingredients.'
toppings += "\n(Enter 'quit' when you are finished.) "
#active = True
#while active:
# topping = input(toppings)
# if topping == 'quit':
# active = False
# else:
# print('I will add '+topping.title()+' in your pizza.')
topping = ""
while topping != 'quit':
topping = input(toppings)
if topping != 'quit':
print('I will add ' + topping.title() + ' in your pizza.')
7-8 熟食店 : 创建一个名为sandwich_orders 的列表, 在其中包含各种三明治的名字; 再创建一个名为finished_sandwiches 的空列表。 遍历列表sandwich_orders , 对于其中的每种三明治, 都打印一条消息, 如I made your tuna sandwich , 并将其移到列表finished_sandwiches 。 所有三明治都制作好后, 打印一条消息, 将这些三明治列出来。
sandwich_orders = ['tuna','cuban','chicken']
finished_sandwiches = []
for order in sandwich_orders:
finished_sandwiches.append(order)
print('I made your '+order.title()+' sandwich.')
print('Finished sandwich is:')
for finish in finished_sandwiches:
print('\t'+finish)
while sandwich_orders: #方法二
finished_sandwich = sandwich_orders.pop()
finished_sandwiches.append(finished_sandwich)
print('I made your '+finished_sandwich.title()+' sandwich.')
print('Finished sandwich is:')
for finish in finished_sandwiches:
print(finish)
7-9 五香烟熏牛肉(pastrami) 卖完了 : 使用为完成练习7-8而创建的列表sandwich_orders , 并确保'pastrami' 在其中至少出现了三次。 在程序开头附近添加这样的代码: 打印一条消息, 指出熟食店的五香烟熏牛肉卖完了; 再使用一个while 循环将列表sandwich_orders 中的'pastrami' 都删除。 确认最终的列表finished_sandwiches 中不包含'pastrami' 。
sandwich_orders = ['tuna','cuban','pastrami','pastrami','chicken']
finished_sandwiches = []
print('Pastrami sandwiches are sold out.')
#while 'pastrami' in sandwich_orders:
# sandwich_orders.remove('pastrami')
#for sandwich_order in sandwich_orders:
# finished_sandwiches.append(sandwich_order)
#print(finished_sandwiches)
while sandwich_orders:
sandwich = sandwich_orders.pop()
if sandwich == "pastrami":
continue
else:
finished_sandwiches.append(sandwich)
print(finished_sandwiches)
7-10 梦想的度假胜地 : 编写一个程序, 调查用户梦想的度假胜地。 使用类似于“If you could visit one place in the world, where would you go?”的提示, 并编写一个打印调查结果的代码块。
print('If you could visit one place in the world,where would you go?')
vacationlands = {}
places = []
name = input('\nWhat is your name?')
while 1:
place = input('Where is your vacationland?')
places.append(place)
vacationlands[name] = places
otherplace = input('Would you like other vacationland?(yes/no)')
if otherplace == 'no':
break
print('\n---poll results---')
for name,places in vacationlands.items():
print(name.title()+' likes to visit place is:')
for plac in places:
print(plac.title())