7、用户输入输出和while循环
1、使用函数 input() 输入,print() 打印,字符串可以用逗号隔开。end=' ' 关键字参数,打印时可以不换行,sep=‘ 你想要的分隔符 ’,关键字参数,替换掉默认的分隔字符串。
2、输入是 Input,输出是 Output,因此,我们把输入输出统称为 Input/Output,或者简写为 IO。通过获取用户输入并学会控制程序的运行时间,可编写出交互式程序。
3、函数 input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python 将其存储在一个变量中,以方便你使用。
4、每当你使用函数 input() 时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息——指出用户该输入任何信息的提示都行。
5、可将提示存储在一个变量中,再将该变量传递给函数 input()
prompt = "If you tell us who you are, we can personalize the messages you see." prompt += " What is your first name? " # 字符串相加 name = input(prompt)
运算符+= 在存储在prompt 中的字符串末尾附加一个字符串。
6、使用 zfill() 可是输入指定位数的字符,str=‘111’,str.zfill(8),输出:str='00000111'。
7.1 使用int() 来输入数字
因为 input() 返回的数据类型是 str(字符串),python 会把直接输入的数字转换成字符串。str 不能直接和整数比较,必须先把str转换成整数。使用 int() 把字符转换为整数。
1 height = input("How tall are you, in inches? ") 2 height = int(height) #转化为整数
7.2 求模运算符
处理数值信息时,求模运算符 (%)是一个很有用的工具,它将两个数相除并返回余数:
>>> 4 % 3
1
>>> 5 % 3
2
>>> 6 % 3
0
>>> 7 % 3
1
如果一个数可被另一个数整除,余数就为 0,因此求模运算符将返回 0。你可利用这一点来判断一个数是奇数还是偶数。
7.3 while循环
for 循环用于针对集合中的每个元素都一个代码块,而while 循环不断地运行,直到指定的条件不满足为止,注意指定 while 循环的条件,不然容易无限循环。
1 current_number = 1 2 while current_number < 5: 3 print(current_number) 4 current_number +=1
7.3.1使用布尔操作
True 和 False,布尔运算符和while循环结合使用,可以实现复杂逻辑。
7.3.2使用break退出循环
7.3.3在循环中使用continue
1 current_number = 0 2 3 while current_number < 10: 4 5 current_number += 1 6 7 if current_number % 2 == 0: 8 9 continue 10 11 print(current_number)
如果结果为0(意味着 current_number 可被2整除),就执行 continue 语句,让 Python 忽略余下的代码,并返回到循环的开头。如果当前的数字不能被 2 整除,就执行循环中余下的代码,Python将这个数字打印出来。
循环是让计算机做重复任务的有效的方法。
break 语句可以在循环过程中直接退出循环,而 continue 语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合 if 语句使用。
要特别注意,不要滥用 break 和 continue 语句。break 和 continue 会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉
break 和continue 语句。
7.3.4避免无限循环
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用 Ctrl+C 退出程序,或者强制结束 Python 进程。
7.4使用while循环来处理列表和字典
for 循环是一种遍历列表的有效方式,但在 for 循环中不应修改列表,否则将导致 Python 难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用 while 循环。通过将while 循环同列表和字典结合起来使用,可收集、存储并组
织大量输入,供以后查看和显示。
7.4.1在列表之间移动元素
通过使用 while 循环,函数 pop() 删除末尾元素,append() 添加元素。
7.4.2删除包含特定值的所有元素
通过 while 循环和 remove() 来实现。
7.4.3使用用户输入来填充字典
responses[name] = response