程序結(jié)構(gòu):
- 主要是指結(jié)構(gòu)化程序設(shè)計(jì)。它把一個(gè)程序分成若干互相獨(dú)立的模塊者春。在程序設(shè)計(jì)時(shí)破衔,只要各個(gè)模塊設(shè)計(jì)正確了,就可以保證整個(gè)程序也肯定設(shè)計(jì)正確钱烟。
結(jié)構(gòu)化程序是由若干個(gè)基本結(jié)構(gòu)組成而成晰筛,每一個(gè)結(jié)構(gòu)可以包含若干條語句和其它基本結(jié)構(gòu)。共有三種基本結(jié)構(gòu)拴袭。
順序結(jié)構(gòu):指程序按照我們編寫的順序读第,一條條的運(yùn)行。如:
選擇結(jié)構(gòu):指只有滿足一定的條件時(shí)拥刻,才會(huì)執(zhí)行的程序模塊怜瞒。例如下面的例子,當(dāng)條件P的值為真時(shí)般哼,執(zhí)行A模塊吴汪,否則執(zhí)行B模塊惠窄。
flag = False
name = 'luren'
if name == 'python': # 判斷變量否為'python'
flag = True # 條件成立時(shí)設(shè)置標(biāo)志為真
print('welcome boss') # 并輸出歡迎信息
else:
print(name) # 條件不成立時(shí)輸出變量名稱
#luren
num = 5
if num == 3: # 判斷num的值
print('boss')
elif num == 2:
print('user')
elif num == 1:
print('worker')
elif num < 0: # 值小于零時(shí)輸出
print('error')
else:
print('roadman') # 條件均不成立時(shí)輸出
#roadman
循環(huán)結(jié)構(gòu):指只要滿足一定的條件,程序模塊就會(huì)不斷地執(zhí)行漾橙。例如下面的例子杆融,當(dāng)條件P的值為真時(shí),就執(zhí)行A模塊近刘,然后再次判斷P的值是否為真擒贸,直到條件P的值為假時(shí)才向下執(zhí)行。
For循環(huán)
from pandas import Series;
from pandas import DataFrame;
for i in range(10):
print('現(xiàn)在是: ', i)
for i in range(3, 10):
print(i)
#遍歷字符串
for letter in 'Python':
print ('現(xiàn)在是 :', letter)
#P
#y
#t
#h
#o
#n
#遍歷數(shù)組
fruits = ['banana', 'apple', 'mango']
for fruit in fruits:
print ('現(xiàn)在是 :', fruit)
#遍歷序列
x = Series(['a', True, 1], index=['first', 'second', 'third']);
for v in x:
print("x中的值 :", v);
#x中的值 : a
#x中的值 : True
#x中的值 : 1
for index in x.index:
print("x中的索引 :", index);
print("x中的值 :", x[index]);
print("---------------------")
#x中的索引 : first
#x中的值 : a
#---------------------
#x中的索引 : second
#x中的值 : True
#---------------------
#x中的索引 : third
#x中的值 : 1
#---------------------
#遍歷數(shù)據(jù)框
df = DataFrame({
'age': Series([21, 22, 23]),
'name': Series(['KEN', 'John', 'JIMI'])
});
#遍歷列名
for r in df:
print(r);
#age
#name
#遍歷列
for cName in df:
print('df中的列 :', cName)
print('df中的值 :\n', df[cName]);
print("---------------------")
#df中的列 : age
#df中的值 :
#0 21
#1 22
#2 23
#Name: age, dtype: int64
#---------------------
#df中的列 : name
#df中的值 :
#0 KEN
#1 John
#2 JIMI
#Name: name, dtype: object
#---------------------
#遍歷行觉渴,方法一
for i in range(0, len(df)):
print('現(xiàn)在是第 ', i, ' 行')
print(df.iloc[i]['age'], df.iloc[i]['name'])
#現(xiàn)在是第 0 行
#21 KEN
#現(xiàn)在是第 1 行
#22 John
#現(xiàn)在是第 2 行
#23 JIMI
#遍歷行介劫,方法二
for r in df.values:
print(r)
print(r[0])
print(r[1])
print("---------------------")
#[21 'KEN']
#21
#KEN
#---------------------
#[22 'John']
#22
#John
#---------------------
#[23 'JIMI']
#23
#JIMI
#---------------------
#遍歷行,方法三
for index, row in df.iterrows():
print('第 ', index, ' 行:')
print(row)
print("---------------------")
#第 0 行:
#age 21
#name KEN
#Name: 0, dtype: object
#---------------------
#第 1 行:
#age 22
#name John
#Name: 1, dtype: object
#---------------------
#第 2 行:
#age 23
#name JIMI
#Name: 2, dtype: object
#---------------------
While循環(huán)
from pandas import Series;
from pandas import DataFrame;
#最普通的while循環(huán)
i = 0
while i <= 9:
print('遍歷到 :', i);
i = i+1;
#整合if判斷語句案淋,使用continue
i = 1
while i < 10:
i += 1 # i = i + 1
if i%2 != 0: # 非雙數(shù)時(shí)跳過輸出
continue
print(i) # 輸出雙數(shù)2座韵、4、6踢京、8誉碴、10
#整合if判斷語句,使用break
i = 1
while True: # 循環(huán)條件為1必定成立
print(i) # 輸出1~10
i += 1
if i > 10: # 當(dāng)i大于10時(shí)跳出循環(huán)
break
#當(dāng)然瓣距,我們也可以使用while語句來訪問DataFrame等數(shù)據(jù)結(jié)構(gòu)
df = DataFrame({
'age': Series([21, 22, 23]),
'name': Series(['KEN', 'John', 'JIMI'])
});
rowCount = len(df);
i = 0;
while i<rowCount:
print(df.iloc[i]['age'], df.iloc[i]['name']);
i = i+1;
print("-------------------------")
#21 KEN
-------------------------
#22 John
#-------------------------
#23 JIMI
#-------------------------
點(diǎn)個(gè)贊黔帕?
關(guān)注不迷路。
謝謝蹈丸。