本文目錄一覽:
- 1、python中的循環結構
- 2、使用循環的嵌套結構編程輸出以下圖形 python
- 3、pythonfor循環語句是什麼?
- 4、python xlrd循環行列表數據
- 5、python讀取表格,如何循環輸出一列一列內容,而不是輸出全部列內容?
python中的循環結構
循環結構的應用場景
如果在程序中我們需要重複的執行某條或某些指令,例如用程序控制機器人踢足球,如果機器人持球而且還沒有進入射門範圍,那麼我們就要一直發出讓機器人向球門方向奔跑的指令。當然你可能已經注意到了,剛才的描述中其實不僅僅有需要重複的動作,還有我們上一個章節講到的分支結構。再舉一個簡單的例子,比如在我們的程序中要實現每隔1秒中在屏幕上列印一個”hello, world”這樣的字元串並持續一個小時,我們肯定不能夠將print(‘hello, world’)這句代碼寫上3600遍,如果真的需要這樣做那麼編程的工作就太無聊了。因此,我們需要了解一下循環結構,有了循環結構我們就可以輕鬆的控制某件事或者某些事重複、重複、再重複的發生。在Python中構造循環結構有兩種做法,一種是for-in循環,一種是while循環。
for-in循環
如果明確的知道循環執行的次數或者是要對一個容器進行迭代(後面會講到),那麼我們推薦使用for-in循環,例如下面代碼中計算。
“””
用for循環實現1~100求和
“””
sum = 0
for x in range(101):
sum += x
print(sum)
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
需要說明的是上面代碼中的range類型,range可以用來產生一個不變的數值序列,而且這個序列通常都是用在循環中的,例如:
range(101)可以產生一個0到100的整數序列。
range(1, 100)可以產生一個1到99的整數序列。
range(1, 100, 2)可以產生一個1到99的奇數序列,其中的2是步長,即數值序列的增量。
知道了這一點,我們可以用下面的代碼來實現1~100之間的偶數求和。
“””
用for循環實現1~100之間的偶數求和
“””
sum = 0
for x in range(2, 101, 2):
sum += x
print(sum)
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
也可以通過在循環中使用分支結構的方式來實現相同的功能,代碼如下所示。
“””
用for循環實現1~100之間的偶數求和
“””
sum = 0
for x in range(1, 101):
if x % 2 == 0:
sum += x
print(sum)
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
while循環
如果要構造不知道具體循環次數的循環結構,我們推薦使用while循環,while循環通過一個能夠產生或轉換出bool值的表達式來控制循環,表達式的值為True循環繼續,表達式的值為False循環結束。下面我們通過一個「猜數字」的小遊戲(計算機出一個1~100之間的隨機數,人輸入自己猜的數字,計算機給出對應的提示信息,直到人猜出計算機出的數字)來看看如何使用while循環。
“””
猜數字遊戲
計算機出一個1~100之間的隨機數由人來猜
計算機根據人猜的數字分別給出提示大一點/小一點/猜對了
“””
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input(‘請輸入: ‘))
if number answer:
print(‘大一點’)
elif number answer:
print(‘小一點’)
else:
print(‘恭喜你猜對了!’)
break
print(‘你總共猜了%d次’ % counter)
if counter 7:
print(‘你的智商餘額明顯不足’)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
說明: 上面的代碼中使用了break關鍵字來提前終止循環,需要注意的是break只能終止它所在的那個循環,這一點在使用嵌套的循環結構(下面會講到)需要引起注意。除了break之外,還有另一個關鍵字是continue,它可以用來放棄本次循環後續的代碼直接讓循環進入下一輪。
和分支結構一樣,循環結構也是可以嵌套的,也就是說在循環中還可以構造循環結構。下面的例子演示了如何通過嵌套的循環來輸出一個九九乘法表。
“””
使用循環的嵌套結構編程輸出以下圖形 python
【請問是什麼書里有這道題目?麻煩提供書名和作者,感謝】
Python3.6之for循環嵌套撰寫代碼
第1個代碼 :
for i in range(0,4):
for j in range(0,7):
print(“*”,end=””)
print()
說明:
外循環用變數 i,一共列印4行:
即:當i=0時,列印第1行,i=1時,列印第2行,……, i=3時,列印第4行。
內循環用變數 j,每行列印7個*:
即:當j=0時,列印第1個 *,j=1時,列印第2個 *,……, j=6時,列印第7個*。
輸出結果:
*******
*******
*******
*******
第2個代碼:
for i in range(1,8,2):
for j in range(i):
print(“*”,end=””)
print()
說明:
i=1時,j循環range(1),列印1個*;
i=3時,j循環range(3),列印3個*;
i=5時,j循環range(5),列印5個*…….
輸出結果:
*
***
*****
*******
我是初學,今天剛剛想出第3個代碼怎麼寫:
第3個代碼:
for i in range(1,8,2):
print(int((7-i)/2)*” “,end=””)
for j in range(i):
print(“*”,end=””)
print()
說明:
要在每一行的*前面列印空格,空格的循環並不是在內循環中,因為如果在*號列印中混合空格,會出現一個*號一個空格的輸出錯誤。
所以空格循環應在外循環中,根據行數的列印而進行循環增加。
輸出結果:
*
***
*****
*******
第4個代碼直接寫在第6個代碼中。
第6個代碼:
for i in range(1,8,2):
print(int((7-i)/2)*” “,end=””)
for j in range(i):
print(“*”,end=””)
print()
for i in range(5,0,-2):
print(int((7-i)/2)*” “,end=””)
for j in range(i):
print(“*”,end=””)
print()
說明:
在第3個代碼中,增加依次遞減。
輸出結果:
*
***
*****
*******
*****
***
*
第5個代碼:
for i in range(1,8,2):
for j in range(i):
print(“*”,end=””)
print()
for i in range(5,0,-2):
for j in range(i):
print(“*”,end=””)
print()
說明:
同代碼2,只是增加下方的遞減循環列印。
輸出結果:
*
***
*****
*******
*****
***
*
pythonfor循環語句是什麼?
pythonfor循環語句是for 循環和 while 循環。
Python 有兩種類型的循環:for 循環和 while 循環。for 循環用來遍歷可迭代對象。可迭代對象是每次可以返回其中一個元素的對象, 包括字元串、列表和元組等序列類型,以及字典和文件等非序列類型。還可以使用迭代器和生成器定義可迭代對象。
格式中,迭代變數用於存放從序列類型變數中讀取出來的元素,所以一般不會在循環中對迭代變數手動賦值;代碼塊指的是具有相同縮進格式的多行代碼(和 while 一樣),由於和循環結構聯用,因此代碼塊又稱為循環體。
For 循環的組成部分:
循環的第一行以關鍵字 for 開始,表示這是一個 for 循環。
然後是 iteration_variable in iterable,表示正在被遍歷的是可迭代的對象,並且用迭代變數表示當前正在被處理的可迭代對象的元素。在此示例中,迭代變數 city 在第一次迭代時將是 「new york city」,在第二次迭代時將是 mountain view。
python xlrd循環行列表數據
我把一些基本的操作方法告訴你,你自然就會解決這個問題了。
1、導入模塊
import xlrd
2、打開Excel文件讀取數據
data = xlrd.open_workbook(‘excelFile.xls’)
3、使用技巧
獲取一個工作表
table = data.sheets()[0] #通過索引順序獲取
table = data.sheet_by_index(0) #通過索引順序獲取
table = data.sheet_by_name(u’Sheet1′)#通過名稱獲取
獲取整行和整列的值(數組)
table.row_values(i)
table.col_values(i)
獲取行數和列數
nrows = table.nrows
ncols = table.ncols
循環行列表數據
for i in range(nrows ):
print table.row_values(i)
單元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
簡單的寫入
row = 0
col = 0
# 類型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
ctype = 1 value = ‘單元格的值’
xf = 0 # 擴展的格式化
table.put_cell(row, col, ctype, value, xf)
table.cell(0,0) #單元格的值’
table.cell(0,0).value #單元格的值’
python讀取表格,如何循環輸出一列一列內容,而不是輸出全部列內容?
表格也不給,sheet.col_values(2)就是直接獲取第2列所有內容了(從第0列開始算)
你想要的輸出格式是什麼
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300232.html