7 用户输入和while循环
7.1 函数input的工作原理
-
函数input( )让程序先暂停运行,等待用户输入一些文本后,获取用户输入后,Python将其存储在一个变量中,以方便使用。
msg=input("输入一些信息,并将打印:") print(msg)
7.1.1 使用int( )来获取整数型数据
a=input("输入一个数字")
print(a+1) # 直接操作a+1会引起程序错误,因为a是一个字符串,而并非一个整数型变量
- 解决办法是将a变为整数型变量
a = input("输入一个数字")
a = int(a) # 将转变为int类型的变量
print(a + 1) # 再次操作a+1,不会引发程序错误
- 也可转换成浮点型。
7.2 while循环简介
For循环用于针对集合中的每个元素的一个代码块,而while循环不断地运行,直到指定的指针条件不满足位置
7.2.1 使用while循环
-
尝试用while 循环从1数到5,只要while后面的表达式的值为True,就会执行while内的代码块
print("下面使用while循环来从1数到5") a = 1 while a <= 5: # 如果a小于等于5,就执行 print(a) a += 1
7.2.2 退出while循环
-
当while后的判断式为false时,会退出循环
print("尝试不满足循环条件时,退出while循环:") print("输入q时会退出程序!") msg = '' while msg != 'q': # 只要输入不等于‘q’,就可以执行while内的语句 msg = input("输入信息,输入q退出:") print(msg)
7.2.3 使用标志
- 判断while后的bool变量的值,为True时,继续执行,为False时,结束循环
print("尝试不满足循环条件时,退出while循环:")
print("输入q时会退出程序!")
active = True # 设置一个标签,使得可以进入while循环
while active: # 只要active为True,就可以执行while内的语句
msg = input("输入信息,输入q时退出")
if msg == 'q': # 如果输入为q,说明退出
active = False
else: # 否则打印输入信息
print(msg)
7.2.4 使用break退出循环
要立即退出while循环,不再运行循环中余下的代码,也不管测试的结果如何,可以使用break语句;
print("尝试不满足循环条件时,退出while循环:")
print("输入q时会退出程序!")
while True: # 只要active为True,就可以执行while内的语句
msg = input("输入信息,输入q时退出")
if msg == 'q': # 如果输入为q,退出
break
else: # 否则打印输入信息
print(msg)
7.2.5 在循环中使用continue
-
要返回到循环开头,并根据测试结果决定是否继续执行循环,可以使用continue语句,它不像break语句那样不再执行余下的代码并直接退出整个循环。
print("输出1-10之间的奇数:") a=0#设置a的初始值为0 while a<10:#如果a的值小于10 a+=1# a增加1 if a%2==0:# 如果a模2不等于0,是一个奇数 continue# 刷新 print(a) #如果是偶数,输出
7.3 使用while循环来处理列表和字典
print("尝试用while循环处理列表:")
numbers = [12, 23, 34, 45, 56, 67, 78, 89]
while numbers: # 如果列表不为空
a = numbers.pop() # 弹出列表的最后一个原元素
print(str(a))
print("尝试用while循环删除列表中的某个元素:")
numbers = [12, 23, 34, 45, 12, 12, 78, 89]
while 12 in numbers: # 如果在列表中还有12
numbers.remove(12) # 找到一个元素值为12,删除这个元素
print(numbers) # 输出这个列表
print("尝试用while循环来处理字典:")
person = {} # 创建一个空的字典
active = True # 设置一个标签
while active: # 当标签为True时,执行while内语句
key = input("输入键,输入q退出!") # 输入键
if key == 'q':
break
value = input("输入值,输入q退出!") # 输入值
if value == 'q':
break
person[key] = value # 添加健-值对
print(person)