圖解python | for循環
作者:韓信子@ShowMeAI
教程地址://www.showmeai.tech/tutorials/56
本文地址://www.showmeai.tech/article-detail/72
聲明:版權所有,轉載請聯繫平台與作者並註明出處
1.Python-for循環語句
Python中有很多序列形態的數據結構(如列表或字元串等),可以使用for循環進行遍歷。
語法:
for循環的語法格式如下:
for iterating_var in sequence:
statements(s)
流程圖:
程式碼實例(程式碼可以在在線python3環境中運行)
for letter in 'ShowMeAI': # 第一個實例
print("當前字母: %s" % letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個實例
print('當前水果: %s'% fruit)
print("完成!")
以上程式碼輸出結果:
當前字母: S
當前字母: h
當前字母: o
當前字母: w
當前字母: M
當前字母: e
當前字母: A
當前字母: I
當前水果: banana
當前水果: apple
當前水果: mango
完成!
2.通過序列索引迭代
另外一種執行循環的遍歷方式是通過索引,如下實例(程式碼可以在在線python3環境中運行):
fruits = ['香蕉', '蘋果', '葡萄']
for index in range(len(fruits)):
print('當前水果 : %s' % fruits[index])
print("完成!")
以上程式碼輸出結果:
當前水果 : 香蕉
當前水果 : 蘋果
當前水果 : 葡萄
完成!
以上實例我們使用了內置函數 len() 和 range(),函數 len() 返回列表的長度,即元素的個數。 range返回一個序列的數。
3.循環使用else語句
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。
for num in range(20,30): # 迭代 10 到 20 之間的數字
for i in range(2,num): # 根據因子迭代
if num%i == 0: # 確定第一個因子
j=num/i # 計算第二個因子
print ('%d 等於 %d * %d' % (num,i,j))
break # 跳出當前循環
else: # 循環的 else 部分
print ('%d 是一個質數' % num)
以上程式碼輸出結果:
20 等於 2 * 10
21 等於 3 * 7
22 等於 2 * 11
23 是一個質數
24 等於 2 * 12
25 等於 5 * 5
26 等於 2 * 13
27 等於 3 * 9
28 等於 2 * 14
29 是一個質數
4.經典案例-for循環繪圖
我們來使用學習到的for循環,繪製不同的圖案,幫助大家進一步熟悉for循環用法
(1)空心等邊三角形
程式碼可以在在線python3環境中運行。
rows = int(input('輸入列數: '))
print("列印空心等邊三角形,這裡去掉if-else條件判斷就是實心的")
for i in range(0, rows + 1):#變數i控制行數
for j in range(0, rows - i):#(1,rows-i)
print(" ", end='')
j += 1
for k in range(0, 2 * i - 1):#(1,2*i)
if k == 0 or k == 2 * i - 2 or i == rows:
if i == rows:
if k % 2 == 0:#因為第一個數是從0開始的,所以要是偶數列印*,奇數列印空格
print("*", end='')
else:
print(" ", end='')#注意這裡的", end='' ",一定不能省略,可以起到不換行的作用
else:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
(2)菱形
程式碼可以在在線python3環境中運行。
rows = int(input('輸入列數: '))
print("列印空心等菱形,這裡去掉if-else條件判斷就是實心的")
rows = int(input('輸入列數: '))
for i in range(rows):#變數i控制行數
for j in range(rows - i):#(1,rows-i)
print(" ", end='')
j += 1
for k in range(2 * i - 1):#(1,2*i)
if k == 0 or k == 2 * i - 2:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
#菱形的下半部分
for i in range(rows):
for j in range(i):#(1,rows-i)
print(" ", end='')
j += 1
for k in range(2 * (rows - i) - 1):#(1,2*i)
if k == 0 or k == 2 * (rows - i) - 2:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
5.影片教程
請點擊到B站查看【雙語字幕】版本
資料與程式碼下載
本教程系列的程式碼可以在ShowMeAI對應的github中下載,可本地python環境運行,可以訪問google的寶寶也可以直接藉助google colab一鍵運行與交互操作學習哦!
本教程系列涉及的Python速查表可以在以下地址下載獲取:
拓展參考資料
ShowMeAI相關文章推薦
- python介紹
- python安裝與環境配置
- python基礎語法
- python基礎數據類型
- python運算符
- python條件控制與if語句
- python循環語句
- python while循環
- python for循環
- python break語句
- python continue語句
- python pass語句
- python字元串及操作
- python列表
- python元組
- python字典
- python集合
- python函數
- python迭代器與生成器
- python數據結構
- python模組
- python文件讀寫
- python文件與目錄操作
- python錯誤與異常處理
- python面向對象編程
- python命名空間與作用域
- python時間和日期