Python编程:从入门到实践——【作业】——第七章(输入和while循环)

第七章作业

7-1 汽车租赁 : 编写一个程序, 询问用户要租赁什么样的汽车, 并打印一条消息, 如“Let me see ifI can find you a Subaru”。
7-2 餐馆订位 : 编写一个程序, 询问用户有多少人用餐。 如果超过8人, 就打印一条消息, 指出没有空桌; 否则指出有空桌。
7-3 10的整数倍 : 让用户输入一个数字, 并指出这个数字是否是10的整数倍。
答:7-1

prompt = 'What kind of car would you like to rent?'
car = input(prompt)
print('
“Let me see ifI can find you a ' + car + '”。')

输出:
What kind of car would you like to rent?Subaru

“Let me see ifI can find you a Subaru”。

7-2

number = input('How many people are eating?')
number = int(number)
if number >= 9:
    print('
 There have not tables')
else:
    print('
 There have a table')

输出:
How many people are eating?8

 There have a table

7-3

方法1

number = input('Please input a diget:')
number = int(number)#,有这个不行啊,为什么呢
if number % 10 == 0:#这里的number带()的
    print(str(number) + ' 这个数字是10的整数倍')
else:
    print(str(number) + ' 这个数字不是10的整数倍')#这里的number 要加str

输出:
Please input a diget:5
5 这个数字不是10的整数倍

方法2

number = input('Please input a diget:')
#number = int(number),有这个不行啊,威慑呢么
if int(number) % 2 == 0:#这里的number带()的
    print(number + ' 这个数字是10的整数倍')
else:
    print(number + ' 这个数字不是10的整数倍')

输出;
Please input a diget:5
5 这个数字不是10的整数倍

 7-4 比萨配料 : 编写一个循环, 提示用户输入一系列的比萨配料, 并在用户输入' quit' 时结束循环。 每当用户输入一种配料后, 都打印一条消息, 说我们会在比萨
中添加这种配料。
7-5 电影票 : 有家电影院根据观众的年龄收取不同的票价: 不到3岁的观众免费; 3~12岁的观众为10美元; 超过12岁的观众为15美元。 请编写一个循环, 在其中询问用
户的年龄, 并指出其票价。
7-6 三个出口 : 以另一种方式完成练习 7-4或练习 7-5, 在程序中采取如下所有做法。
      在while 循环中使用条件测试来结束循环。
      使用变量active 来控制循环结束的时机。
      使用break 语句在用户输入' quit' 时退出循环。
7-7 无限循环 : 编写一个没完没了的循环, 并运行它(要结束该循环, 可按Ctrl +C, 也可关闭显示输出的窗口) 。

 7-4

prompt = "
Please Enter a series of pizza toppings: "
prompt += "
We will add this ingredient to our pizza. "
message = ''
while message != 'quit':
    message = input(prompt)
    if message != 'quit':
        print(message)

输出;
Please Enter a series of pizza toppings: 
We will add this ingredient to our pizza. banana
banana

Please Enter a series of pizza toppings: 
We will add this ingredient to our pizza. chese
chese

Please Enter a series of pizza toppings: 
We will add this ingredient to our pizza. quit

 7-5

print('Cinemas will receive different fares based on viewer age:')
tickets = '
 Please,tell me how old are you:'
age = ''
active = True
while age != 'quit':
   age = input(tickets)
   if age == 'quit':
       active = False
   elif int(age) < 3:
       print('free')
   elif int(age) < 12:
       print(10)
   else:
       print(15)

输出:
Cinemas will receive different fares based on viewer age:

 Please,tell me how old are you:2
free

 Please,tell me how old are you:10
10

 Please,tell me how old are you:15
15

 Please,tell me how old are you:quit

 7-6 用break语句:

print('Cinemas will receive different fares based on viewer age:')
tickets = '
 Please,tell me how old are you:'
age = ''
while True:
   age = input(tickets)
   if 'quit'in age:
       print('quit')
       break
   elif int(age) < 3:
       print('free')
   elif int(age) < 12:
       print(10)
   else:
       print(15)


输出:
Cinemas will receive different fares based on viewer age:

 Please,tell me how old are you:2
free

 Please,tell me how old are you:16
15

 Please,tell me how old are you:quit
quit

 7-7

active = True
while active:
     print('hello world')

7-8 熟食店 : 创建一个名为sandwich_orders 的列表, 在其中包含各种三明治的名字; 再创建一个名为finished_sandwiches 的空列表。 遍历列
表sandwich_orders , 对于其中的每种三明治, 都打印一条消息, 如I made your tuna sandwich , 并将其移到列表finished_sandwiches 。 所有三明
治都制作好后, 打印一条消息, 将这些三明治列出来。
7-9 五香烟熏牛肉( pastrami) 卖完了 : 使用为完成练习 7-8而创建的列表sandwich_orders , 并确保' pastrami' 在其中至少出现了三次。 在程序开头附近添加
这样的代码: 打印一条消息, 指出熟食店的五香烟熏牛肉卖完了; 再使用一个while 循环将列表sandwich_orders 中的' pastrami' 都删除。 确认最终的列
表finished_sandwiches 中不包含' pastrami' 。
7-10 梦想的度假胜地 : 编写一个程序, 调查用户梦想的度假胜地。 使用类似于“Ifyou could visit one place in the world, where would you go?”的提示, 并编写一个打印调查
结果的代码块。

7-8

sandwich_orders = ['guita','chess','banana']
finished_sandwiches= []
while sandwich_orders:
     current_sandwich = sandwich_orders.pop()
     print('I made your tuna ' + current_sandwich)
     finished_sandwiches.append(current_sandwich)
print('所有三明治都制作好了')
for current_sandwich in finished_sandwiches:
     print(current_sandwich)

输出;
I made your tuna banana
I made your tuna chess
I made your tuna guita
所有三明治都制作好了
banana
chess
guita

 7-9

sandwich_orders = ['guita','pastrami','chess','pastrami','banana','pastrami' ]
print('熟食店的五香烟熏牛肉(pastrami)都卖完了')
while 'pastrami' in sandwich_orders:#一定要注意空格,错了好多次了
     sandwich_orders.remove('pastrami')#必须加括号啊
print(sandwich_orders)


输出;
熟食店的五香烟熏牛肉(pastrami)都卖完了
['guita', 'chess', 'banana']

 7-10

responses = {}
dream_resort = True
while dream_resort:
     name = input("
What is your name? ")
     response = input('“Ifyou could visit one place in the world, where would you go?”')
     responses[name] = response  #这将答卷存储在字典中,如果是responses[response] = name,就是字典中键与值颠倒过来
     repeat = input("Would you like to let another person respond? (yes/ no) ")#这有了这个input就不算等于啊,算等待输入
     if repeat == 'no' :
          dream_resort = False
print("
--- Poll Results ---")
for name,response in responses.items():
     print(name + "would like visit " + response + "in the world . ")


输出:What is your name? 曹富
“Ifyou could visit one place in the world, where would you go?”长城
Would you like to let another person respond? (yes/ no) yes

What is your name? 曹辉
“Ifyou could visit one place in the world, where would you go?”
Would you like to let another person respond? (yes/ no) no

--- Poll Results ---
曹富would like visit 长城in the world . 
曹辉would like visit 家in the world . 

 证明responses[name] = response,这是一种将信息储存到列表中的形式 

responses = {}
name = 'ni'#Python中的key 不可以是 list类型  因为 list是可变的  不能被hash
response = ['ta']
responses[name] = response
print(responses)

输出:
{
'ni': ['ta']}
原文地址:https://www.cnblogs.com/caofu/p/8857136.html