while True:即代表如果不出错,while后的程序会一直运行下去。
实例一:让用户持续输入内容;如果用户不想再输入内容,那么敲下回车即可终止输入
list=[]#创建空列表存储用户输入的内容
data = input('请输入内容:')
while data:
list.append(data)
data = input('请继续输入内容:')
在第三次输入是敲回车,执行结果如下:
得到此结果的原因是,input函数不会接收回车值,即——如果input()括号内只敲下回车,那么输出的data值为空字符串。
data不为空时,相当于while True,可继续执行程序;data为空时,相当于while False,程序自然就会停止啦。
实例二:配合try-except使循环适时终止
try-except语句用于避免因代码运行时报错而使程序终止的情况。
可简单概括为,如果try:之后的部分不会报错,那么将顺利运行下去;如果会报错,将会执行except:之后的部分,类似于if-else语句,区别在于try-expept的判别条件为——是否为报错,且try-except不会因出错为终止。
以下为计算两个n维向量内积的程序:
flag = 1
while flag:
try:
n = eval(input())
xin = input().split(',')
yin = input().split(',')
sum = 0
for i in range(n):
sum+=int(xin[i])*int(yin[i])
print("x和y的内积是:", sum)
flag = 0#执行完毕,终止程序
except:
print("请输入整数!")
flag = 1
代码的核心思想在于——把while True换成了while+变量,通过改变变量的值(1对应True,0对应False)来随时终止程序。