《Python从入门到实践》知识点总结归纳——第七章
1用户输入和while循环
1.1函数input 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便你使用。
函数input() 接受一个参数:即要向用户显示的提提示或说明,让用户知道该如何做,使用input时,Python将用户输入解读为字符串。
例:
1 prompt = "If you tell us who you are, we can personalize the messages you see." 2 prompt += "\nWhat is your first name? " # 运算符+= 在存储在prompt 中的字符串末尾附加一个字符
3 4 name = input(prompt) 5 print("\nHello, " + name + "!")
1.2使用int()来获取数值输入
1 age = int(age)
1.3求模运算符(%)他将两个数相除返回余数。
判断奇偶数:如果一个数可被另一个数整除,余数就为0,因此求模运算符将返回0。你可利用这一点来判断一个数是奇数还是偶数:
1.4while循环 for 循环用于针对集合中的每个元素都一个代码块,而while 循环不断地运行,直到指定的条件不满足为止。
让用户选择何时退出
1 prompt = "\nTell me something, and I will repeat it back to you:" 2 prompt += "\nEnter 'quit' to end the program. " 3 message = "" 4 while message != 'quit': # 判断 5 message = input(prompt) 6 print(message)
1.5使用标志
1.5.1
————————snip—————————— active = True while active: message = input(prompt) if message == 'quit': active = False else: print(message)
1.5.2 使用break退出
————————snip———————— while True: city = input(prompt) if city == 'quit': break ——————snip——————
注:以while True 打头的循环将不断运行,直到遇到break 语句。
1.6使用continue回到循环开头,并根据测试结果决定是否继续执行循环
current_number = 0 while current_number < 10: current_number += 1 if current_number % 2 == 0: continue print(current_number)
2使用while处理列表和字典
2.1在列表之间移动元素
unconfirmed_users = ['alice', 'brian', 'candace'] confirmed_users = [] while unconfirmed_users: # 执行while循环直到列表为空 current_user = unconfirmed_users.pop()
2.2删除包含特定值得所有列表元素
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat'] # 列表中包含多个cat while 'cat' in pets: pets.remove('cat')
2.3使用用户输入来填充字典
1 responses = {} 2 3 # 设置一个标志,指出调查是否继续 4 polling_active = True 5 6 while polling_active: 7 # 提示输入被调查者的名字和回答 8 name = input("\nWhat is your name? ") 9 response = input("Which mountain would you like to climb someday? ") 10 11 # 将答卷存储在字典中 12 responses[name] = response 13 14 # 看看是否还有人要参与调查 15 repeat = input("Would you like to let another person respond? (yes/ no) ") 16 if repeat == 'no': 17 polling_active = False 18 19 # 调查结束,显示结果 20 print("\n--- Poll Results ---") 21 for name, response in responses.items(): 22 print(name + " would like to climb " + response + ".")