Python常用方法-迴圈
python3 中常用方法(method)
方法的呼叫語法:
物件.方法名(方法傳參)
說明:
方法的呼叫和函式的呼叫同屬於表示式
示例
‘asd’.isalpha() #判斷asd是否為全英文
123.isalpha() #錯,123沒有isalpha方法
S.isdigit() 是否是數字
.islower() 全小寫
.isupper() 全大寫
.isspace() 是否是空白字元 指水平製表符等不可見字元(\t \n \r)
.center(10) 將原字串居中 兩邊填充空 ‘asd’.cetner(10,’#’)
.count(字串,開始索引,結束索引) 判斷一個字串中有幾個子串
.find 查詢字串中子串的索引,失返回-1
.strip() 刪除左右兩邊的空格 .lstrip刪除左邊的空格 .rstrip刪除右邊的空格
.replace(old,new[,count])
.startswith()
.endswith()
.title() 文章標題(適用英文)
示例:
>>> ‘asd’.center(10,’*’)
‘asd*’
>>> s.count(‘as’)
2
>>> s.startswith(‘as’)
True
>>> s=‘hello world’
>>> s.count(‘l’,1,5)
2
>>> s.count(‘l’,1,10)
3
>>> s=‘hello world’
>>> s.find(‘wor’)
6
>>> s.find(‘o’,3,5)
4
字串格式化表示式:
作用:
生成一定格式的字串
運算子
%
格式:
格式化字串%(引數值)
或
格式化字串%(引數值1,引數值2。。。)
示例:
fmt=”姓名:%s,年齡:%d”
name=”張飛”
age=20
print(fmt%(name,age))
佔位符 型別碼
>>> “%c”%20013
‘中’ chr函式
%d
%s
%o八進位制數
%x 十六進位制整數 英文字母小寫
%X十六進位制整數 英文字母大寫
%e 指數型浮點數 小寫
%E 指數型浮點數 大寫0
%f %F浮點數的十進位制形式
%g %G 十進位制形式浮點或指數浮點自動轉換
%% 等同於一個%
示例:
>>> “%g” % 12342325.044352342
‘1.23423e+07’
>>> “%g” % 12.34
‘12.34’
佔位符% 和型別碼之間的格式語法:
%[格式語法] 型別碼[d,s,f等]
格式語法:
- 左對齊
+ 顯示正負號
0 補零
寬度
寬度. 精度
示例:
“%10d”% 1232 # ’ 123’
“%-10d” % 123 # ‘123 ’
“%10s” %”asd” # ’ asd’
“%-5s” % ’asd’ # ’asd ‘
“%+10d” % 123 # ’ +123’
“%010d” % 123 # ‘0000000123’
“%.2f” % 3.214235436
示例:
>>> “%.2f”%0.234342
‘0.23’
>>> “%7.2f”%1.23434212
’ 1.23’
>>>
練習:
輸入三行文字,讓著三行文字依次以20個字元的寬度都對齊輸出
如:
請輸入第一行:hello world
請輸入第二行:hello world
請輸入第三行:hello Word
列印結果:
Hello world
Asdf
A
思考:
是否以最長的字串的長度進行右對齊顯示,左側填充空格
答案:
a=input(“請輸入第一行:”)
b=input(“請輸入第二行:”)
c=input(“請輸入第三行:”)
print("%20s" % a)
print("%20s" % b)
print("%20s" % c)
# print("%20s" % (a+b+c))
ml=max(len(a),len(b),len©)
# print(“最長的字串是:”,ml)
# print(’ ’ * (ml - len(a)) + a)
# print(’ ’ * (ml - len(b)) + b)
# print(’ ’ * (ml - len©) + c)
# 方法2
fmt="%"+str(ml)+“s”
print(“格式化字串是:”,fmt)
print(fmt % a)
print(fmt % b)
迴圈語句:
While 語句
For語句
While語句
問題:
輸入一個整數n,讓程式輸出n行的
hello 1
hello 2
。。。。
hello n
重複執行一些語句的問題
作用:
根據一定條件,重複執行一條語句或多條語句
複合語句
語法:
While 真值表達式:
語句塊1.。
Else:
語句塊2.。
說明:
1、先執行真值表達式,測試布林值為True或False
2、如果真值表達式的測試值為True,則執行語句1,然後再返回到第一步,重複進行測試
3、如果真值表達式的測試值為False,則執行else子句中的語句塊,然後結束while語句的執行,如果沒有else,則直接結束while語句的執行
4、else子句部分可以省略(同if語句類似)
練習:
1、 輸入一個整數n:寫程式 列印n以內的全部大於0的偶數,不包含n
2、 列印從0開始的浮點數,每個數增加0.5,打印出十以內的這樣的數
3、 列印1-20的整數,列印在一行顯示,每個數字之間用一個空格分隔
1 2 3 4.。。。20
Print(n,end=’ ’)
4、 列印1-20整數,每行5個數,列印四行,如:
1 2 3 4 5
6 7 8 9 10
5、 用while語句列印10-1之間的整數
6、 用while語句實現列印三角形,輸入一個整數,表示三角形的高度和寬度,打印出相應的三角形
While語句的注意事項:
1、 要控制迴圈的真值表達式的值來防止死迴圈
2、 通常用真值表達式中的迴圈變數來控制迴圈條件
3、 通常在迴圈語句內需要改變迴圈變數來控制迴圈的次數和變數的走向
While迴圈的巢狀
While語句本身是語句,和其他語句一樣可以巢狀在其他複合語句中
(如 if語句 while語句 for語句)
While語句巢狀示例
While 真值表達式:
。。。
While真值表達式2:
。。。。
Else:
。。。。。
Else:
。。。。
練習:
輸入一個數,列印指定寬度的正方形:
如:
請輸入:5
列印如下:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Break語句:
作用:
用於迴圈語句(while for)
中,用來終止當前迴圈語句執行
說明:
1、 當break語句執行後,次迴圈語句break之後的語句將不再執行
2、 break語句通常和if語句組合使用
3、 break語句終止迴圈時,迴圈子句的else子句將不再執行
4、 break語句只能終止當前迴圈的執行,如果有迴圈巢狀時,不會跳出巢狀的外層迴圈
5、 break語句只能在迴圈內部使用
示例:break.py
死迴圈:death loop
1、 死迴圈是指迴圈條件一直成立的迴圈
2、 死迴圈通常用break語句來終止迴圈
3、 死迴圈的else子句永遠不會執行
echo指令
可以將引數輸出到標準輸出裝置上,多個引數之間預設用空格分開,在輸出完成後自動新增換行符。
echo命令通常用於顯示輸出文字,該命令的語法格式如下所示:
-n 不輸出最後的換行符\n
-e 對轉義字元進行解釋
-E 不對轉義字元解釋
echo “the echo command test!”>a.sh
這個就會在a.sh檔案中輸出“the echo command test!”這一行文字!