標籤:star 條件 int center error str har 反轉 api
一、迴圈和分支
1. 條件分支語句
if 條件:
代碼塊
else:
代碼塊
2. 迴圈語句之while
思考1:求1+2+3+....+10的值
sum = 0num = 1while num < 101: sum += num num += 1print(sum)
for 迴圈
for 語句:
代碼塊
二、字串操作
1.字串的拼接
使用加號進行連結
#字串的連結,通過“+”進行連結s1 = ‘welcome‘s2 = ‘to guangzhou‘print(s1 + s2)
使用“,‘進行連結
s1 = ‘hello‘s2 = ‘world‘print(s1, s2)#使用“,”連結的時候,在“,”的位置會產生一個空格
使用%格式化連結
s1 = ‘hello‘s2 = ‘world‘print("%s %s"%(s1, s2))
使用join函數進行連結
s1 = [‘hello‘, ‘world‘]print("".join(s1))
注意:‘‘.join*()函數內部只需要傳遞一個參數。
2.重複輸出字串
#重複輸出字串,通過乘法的方式實現s3 = ‘good‘print(s3 * 3)
3.擷取字串中的字元
#通過索引的方式實現#索引:給一個字串中的字元從0開始編號,也成為下標#索引的取值範圍:[0,str.length-1]#訪問方式: 變數名稱[索引]str3 = ‘good‘print(str3[0])#索引值還可以從-1開始,-1代表倒數第一個字元print(str3[-1])
4.截取字串
#通過索引的方式實現#索引:給一個字串中的字元從0開始編號,也成為下標#索引的取值範圍:[0,str.length-1]#訪問方式: 變數名稱[索引]str3 = ‘good‘print(str3[0])#索引值還可以從-1開始,-1代表倒數第一個字元print(str3[-1])
5.判斷是否包含指定字元
#判斷字串中是否包含某指定字串str4 = "you are a good boy"print("good" in str4)#若包含有則返回True否則為False
6.格式化輸出
#通過%來改變後面的字母或者是符號的含義,%被稱為預留位置# %s:格式化字串# %d:格式化整數# %f:格式化浮點數,可指定小數點後的精度age = 18name = "麗麗"weight = 45.5print("my name is %s , I am %d year old and my weight is %.2f kg"%(name, age, weight))#注意:%.nf表示精確到小數點後n位,會四捨五入
三、關於字串常用函數
1.eval(str)
功能:將字串str當成有效運算式來求值並返回計算結果。可以把list,tuple,dict,set和string相互轉化
>>>num1 = eval(‘123‘)>>>print(num1)123>>>num2 = eval("[1, 2, 3]")>>>print(num2)[1, 2, 3]>>> num3 = eval("12-3")>>> print(num3)9
2.len(str)
功能:返回當前字串的長度(字元的個數)
>>> len("you are good")12
3.str.lower()
功能:返回一個把字串中的大寫字母轉為小寫字母的字串
>>> str = "Hello World">>> print(str.lower())hello world
4.str.upper()
功能:返回一個把字串中的小寫字母轉換為大寫字母的字串
>>> str = "Hello World">>> print(str.upper())HELLO WORLD
5.str.swapcase()
功能:返回一個把字串中的大寫字母轉為小寫字母,小寫字母轉為大寫字母的字串(字串大小寫反轉)
>>> str = "Hello World">>> print(str.swapcase())hELLO wORLD
6.str.capitalize()
功能:返回一個首字母大寫,其他小寫字串
>>> str = "Hello World">>> print(str.capitalize())Hello world
7.str.title()
功能:返回一個每個單字首大寫的字串
>>> str = "Hello World">>> print(str.title())Hello World
8.str.center(width[,fillchar])
功能:返回一個指定寬度的置中字串,fillchar為填充字元
>>> str = "Hello World">>> print(str.center(50,"*"))*******************Hello World********************
9.str.ljust(width[,fillchar])
功能:返回一個指定寬度的靠左對齊字串,fillchar為填充字元。預設使用空格填充
>>> str = "Hello World">>> print(str.ljust(50,"*"))Hello World***************************************
10.str.rjust(width[,fillchar])
功能:返回一個指定寬度的靠左對齊字串,fillchar為填充字元。預設使用空格填充
>>> str = "Hello World">>> print(str.rjust(50,"*"))***************************************Hello World
11.str.zfill(width)
功能:返回一個長度為width字串,原字串靠右對齊,前面補0
>>> str = "Hello World">>> print(str.zfill(50))000000000000000000000000000000000000000Hello World
12.str.count(str[ ,strat][,end])
功能:返回字串中str出現的次數,可以指定一個範圍,若不指定,則預設從頭到尾,匹配的時候是區分大小寫
>>> str = "Hello World">>> print(str.count("hello", 0 , 10))0
13.str.find(str1[,start],[,end])
功能:從左右右檢測str1字串是否包含字串中,可以指定範圍,預設從頭到尾。
返回的是第一次出現的下標,若未查詢到,則返回-1
>>> str = "Hello World">>> str1 = "llo">>> print(str.find(str1, 0 , 10))2
14.str.rfind(str1[,start][,end])
功能:類似於str.find(),不過是從右邊開始尋找
>>> str = "Hello World">>> str1 = "llo">>> print(str.rfind(str1, 0 , 10))2
15.str.index(str1[strat=0],[end = len(str)])
功能類似於find(),與find()不同的是,如果str1不存在的時候會報一個異常
>>> str2 = "Hello World">>> str1 = "hello">>> print(str2.index(str1, 0 , 10))ValueError: substring not found
16.str.lstrip()
功能:截掉字串左側指定的字串,預設刪除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str = ‘**** you are very good‘>>> print(str.lstrip())>>> print(str.lstrip())**** you are very good>>> print(str.lstrip("*")) you are very good
17,str.rstrip()
功能:截掉字串右側指定的字串,則預設刪除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str = ‘**** you are good****‘>>> print(str.rstrip())**** you are good****>>> print(str.rstrip("*"))**** you are good
18.str.strip()
功能:截掉字串左右兩側指定的字串,則預設刪除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str1 = " hello world ">>> str1.strip()‘hello world‘
19.string.split(str = ‘‘,num=string.count(str))
功能:以str為分割符切片string,如果num有指定值,則僅分割num個子字串
str--分割符,預設為所有的Null 字元,包括空格、換行(\n)、定位字元(\t)等。num--分割次數
>>> str1 = "hello you are good">>> str1.split()[‘hello‘, ‘you‘, ‘are‘, ‘good‘]>>> str1.split(" ",2)[‘hello‘, ‘you‘, ‘are good ‘]
練習:
1.計算1~100以內所有能被3或者17整除的數的和2.計算100-999的水仙花數的個數。3.計算200~500以內能被7整除但不是偶數的數的個數。4.押寶遊戲:開始遊戲 -> 投入賭金【一次性投入】 -> 迴圈 :押寶【5塊錢一次】 -> 開獎 --》中獎/未中獎 --》使用者輸入是否繼續 【當餘額為0則自動結束遊戲】5.百錢買百雞,現有100文錢,公雞5文錢一隻,母雞3文錢一隻,小雞一文錢3隻,要求:公雞,母雞,小雞都要有,買100隻雞,把100文錢花完,買的雞是整數。多少只公雞,多少只母雞多少只小雞?
Python的語言基礎總結(二)之迴圈與字串操作