1 用户输入
大多数程序都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息。
1.1 方法input()
input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便我们使用。
- 函数input()接受一个参数,即向用户显示的提示或说明。用户将看到提示信息,程序等待用于输入,并在用户按回车键后继续运行。用户输入的数据存储在变量中。
- 使用该函数时,程序员应指定清晰而易于明白的提示,准确指出希望用户提供的信息。
- 建议在提示末尾包含一个空格,可将提示与用户输入分开,让用户清楚知道其输入始于何处。
- 使用函数input(),python将用户输入解读为字符串。当我们希望输出是其他类型时,我们可以用类型转换函数。
1.2 创建多行字符串
- 将字符串前半部分存储在变量中;
- 运算符 += ,在存储在变量中的字符串末尾附加一个字符串。
1.3 判断奇偶
求模运算符(%),将两个数相除并返回余数。
if num % 2 == 1:
print("奇数")
if num % 2 == 0:
print("偶数")
2 while循环
for循环用于针对集合中的每个元素的一个代码块,而while循环不断运行,直到指定的条件不满足为止。
2.1 让用户选择何时退出
while循环让程序在用户愿意时不断运行。
程序员可以定义一个退出值,只要用户输入的不是这个值,程序就一直运行。
2.2 使用标志
在要求很多条件都满足才继续运行的程序中,可定义变量flag,用于判断整个程序是否处于活跃状态。
- 这个变量被称为标志,充当程序的交通信号灯。程序员可让程序在标志位True时继续运行,并在任何时间导致标志为FALSE时让程序停止运行。
- 这样简化了while语句,因为不需要做任何比较——相关的逻辑由程序的其他部分处理。
2.3 break语句退出循环
要立即退出while循环,不再运行循环中余下的代码,也不用管条件测试的结果如何额,可使用break语句。
break语句用于控制程序流程,可使用它来控制哪些代码将执行,哪些代码不执行。
2.4 continue语句
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。
2.5 避免无限循环
每个while循环都必须有停止运行的途径,这样才不会无限地执行下去。
如果程序陷入无限循环,可按Ctrl + C或关闭显示程序输出的终端窗口
2.6 while循环处理列表和字典
在遍历列表的同时对其进行修改,可使用while循环。通过将while循环与列表和字典结合起来使用,可收集、存储并组织大量输出。
在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。
2.7 方法remove()
在while循环中使用remove()删除包含特定值所有的列表元素。
动手试一试
7-1 汽车租聘:
message = "你要租聘什么样的汽车? "
answer = input(message)
print("Let me see if I can find you a " + answer)
7-2 餐馆订位:
message = "有多少人用餐? "
ask = int(input(message))
if ask > 8:
print("没有空桌")
else:
print("有空桌")
7-3 10的整数倍:
message = "请输入一个数字:"
answer = int(input(message))
if answer % 10 == 0:
print("是10的整数倍")
else:
print("不是10的整数倍")
7-4 比萨配料:
pizza_toppings = []
flag = True
while flag:
message = input("请输入披萨配料:")
if message == 'quit':
break
pizza_toppings.append(message)
print("我们将会在披萨中添加配料:" + message)
7-5 电影票:
flag = True
while flag:
age = int(input("请输入你的年龄:"))
if age <= 3:
price = 0
elif age <= 12:
price = 10
else:
price = 15
print("你的票价为:" + str(price))
7-6 三个出口:
active = True
while active:
message = input("请输入你的年龄:")
if message == "quit":
break
age = int(message)
if age <= 3:
price = 0
elif age <= 12:
price = 10
else:
price = 15
print("你的票价为:" + str(price))
7-7 无限循环:
while True
print("这是一个无限循环")
7-8 熟食店:
sandwish_orders = ['tuna', 'ham and cheese', 'onions']
finished_sandwishes = []
while sandwish_orders:
for sandwish in sandwish_orders:
print("I made your " + sandwish + " sandwish.")
unfinished_sanwish = sandwish_orders.pop()
finished_sandwishes.append(unfinished_sanwish)
for sandwish in finished_sandwishes:
print(sandwish)
7-9 五香烟熏牛肉卖完了:
sandwish_orders = ['tuna', 'ham and cheese', 'onions', 'pastrami', 'pastrami', 'pastrami']
print("The deli ran out of smoked spiced beef.")
while 'pastrami' in sandwish_orders:
sandwish_orders.remove('pastrami')
print(sandwish_orders)
7-10 梦想的度假胜地:
active = True
places = []
while active:
message = input("If you could visit one place in the world, where would you go? ")
if message == 'quit':
break
places.append(message)
print(places)
|