python with循环_Python for循环、while循环
Python中有兩種循環,分別為:for循環和while循環。
for循環
for循環可以用來遍歷某一對象(遍歷:通俗點說,就是把這個循環中的第一個元素到最后一個元素依次訪問一次)。for循環的基本結構
如下:
具體看這個案例:
設計一個函數,在桌面創建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:
# with...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行:調用函數。
案例中提到了“with...as”,在Python中,“with...as”語法是用來代替傳統的“try...finally”的。
比如:打開桌面的test文件,嘗試讀取文件內容,最后關閉文件。
file = open('/home/xuyukun/desktop/test.txt')
try:
data = file.read()
finally:
file.close()
雖然這段代碼執行良好,但比較冗長,換成用“with...as”來表達后,代碼會更為簡潔。
with open('/home/xuyukun/desktop/test.txt') as file:
data = file.read()
除了上面單層循環之外,還有一種常見的循環,嵌套循環。
例如嵌套循環實現九九乘法口訣。
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循環
總結
以上是生活随笔為你收集整理的python with循环_Python for循环、while循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lua loadstring传递参数_l
- 下一篇: python为何排名越来越前_为何pyt