pythonwith循环_Pythonfor循环、while循环
Python中有两种循环,分别为:for循环和while循环。
for循环
for循环可以⽤来遍历某⼀对象(遍历:通俗点说,就是把这个循环中的第⼀个元素到最后⼀个元素依次访问⼀次)。for循环的基本结构如下:
python怎么读取桌面上的文件
具体看这个案例:
设计⼀个函数,在桌⾯创建10个⽂本,⽤数字从1-10依次给它们命名。
def text_create():
path = '/home/xuyukun/desktop/'
for text_name in range(1,11):
# 1-10的范围需要⽤到range函数
with open (path + str(text_name) + '.txt','w') as text:
# as的⽤法正⽂内会详细介绍
text.write(str(text_name))
text.close()
print('Done')
text_create()
现在我们来理解下每⾏代码。
第1⾏:定义⼀个text_create函数;
第2⾏:给变量path赋值为桌⾯路径;
第3⾏:将1-10范围内的每个数字依次装⼊变量text_name中,每次命名⼀个⽂件;
第5⾏:打开位于桌⾯的txt⽂件,并给每⼀个text执⾏写⼊操作;
第7⾏:给每个⽂件依次命名;
第8⾏:关闭⽂件;
第9⾏:执⾏完⼀次命名操作后显⽰⼀个Done;
第11⾏:调⽤函数。
案例中提到了“as”,在Python中,“as”语法是⽤来代替传统的“finally”的。
⽐如:打开桌⾯的test⽂件,尝试读取⽂件内容,最后关闭⽂件。
file = open('/home/xuyukun/')
try:
data = ad()
finally:
file.close()
虽然这段代码执⾏良好,但⽐较冗长,换成⽤“as”来表达后,代码会更为简洁。
with open('/home/xuyukun/') as file:
data = ad()
除了上⾯单层循环之外,还有⼀种常见的循环,嵌套循环。
例如嵌套循环实现九九乘法⼝诀。
for i in range(1,10):
for j in range(1,10):
print('{} X {} = {}'.format(i,j,i*j))
最外层的循环,依次将1-9的数字储存在变量i中;变量i每取⼀次值,内层循环就依次将1-9的数字储存在变量j中;最后打印出当前的i、j、和i*j的值。
format函数,⽤来格式化字符串,可以通过{}.format来实现。在上⾯这个案例中,将i、j、i*j的值分别存⼊前⾯的{ }中,然后做好格式化,统⼀形式。
for循环和while循环,两者的相同点在于都能循环做⼀件重复的事情;不同点在于,for循环是在序列穷
尽时停⽌,while循环是在条件不成⽴时停⽌。
具体,看下⾯⽰例:
count = 0
while True:
print('重复⼀遍')
count = count + 1
if count == 3:
break
给变量count赋值为0,while True就是条件成⽴,显⽰“重复⼀遍”,此时count被重新赋值为count+1,如果count等于3时,跳出循环。最后⼀句的break是跳出最近⼀层的循环,如果不跳出,程序会⽆限制循环下去,
不想⽤break来跳出循环,则可以改变使循环成⽴的条件。
将上⾯的例⼦可转化为如下:
count = 0
while (count < 3):
print('重复⼀遍')
count = count + 1
逻辑判断到循环的内容已完成
坤⼦的博客 , 版权所有⼁如未注明 , 均为原创⼁本⽹站采⽤BY-NC-SA协议进⾏授权
转载请注明原⽂链接:Python for循环、while循环