day4-總結

python中的if語句(補充)

3.if-elif-if語句

if 條件語句1:
代碼塊1
elif 條件語句2:
代碼塊2
elif 條件語句3:
代碼塊3
elif ......
else:
代碼塊n
其他語句

執(zhí)行過程:依次檢查條件語句直到出現(xiàn)為true的條件語句執(zhí)行其后面的代碼塊或者檢查到else直接執(zhí)行else后面的代碼塊if-elif-else執(zhí)行完畢后,執(zhí)行其后的其他語句

# 給一個學生的成績憔涉,判斷成績是優(yōu)秀(90)良好(70-89)及格(60-69)不及格(60以下)
score = 60
if 0 <= score < 60:
    print("不及格")
elif 60 <= score < 70:
    print('及格')
elif 70 <= score < 90:
    print('良好')
elif 90 <= score <= 100:
    print('優(yōu)秀')
else:
    print('成績輸入錯誤')

4.if語句可以嵌套使用

if 條件語句1:
if 條件語句2:
語句塊1
......
else:
語句塊2
else:
語句塊3

# 練習:給個數(shù)字妨托,如果是偶數(shù)打印‘xxx是偶數(shù)’并且
# 能被4整除打印‘xxx是4的倍數(shù)’斟湃,否則打印‘xxx是奇數(shù)’
num = 36.4
if type(num) == int:
    if not num % 2 :
        print(str(num)+'是偶數(shù)')
        if not num % 4:
            print(str(num)+'是4的倍數(shù)')
    else:
        print(str(num)+'是奇數(shù)')
else:
    print('請輸入正確的整數(shù)數(shù)據(jù)')

補充: 判斷數(shù)據(jù)的類型

  • isinstance(值,類型名) --> 判斷指定的值是否是指定的類型瞒御,結果為bool值
print(isinstance(10,int)) # 判斷10是否是int類型

python中的強制類型轉換

數(shù)據(jù)類型轉換:類型名(被轉換的數(shù)據(jù))
常見的數(shù)據(jù)類型:int float bool str

1.其他的數(shù)據(jù)類型轉換成int:int()

  • float可以轉換為int:只保留整數(shù)部分
  • bool可以轉換為int:true --> 1 false -->0
  • str可以轉換為int:條件是去掉字符串的引號诡挂,剩下的部分本身是一個整形數(shù)據(jù)的字符串(可以帶+-號)
print(int(12.9)) # 12
print(int(True),int(False)) # 1 0
print(int('+245'),int('-245'),int('245')) # 245 -245 245

2.其他的數(shù)據(jù)類型轉換成float:float()

  • int可以轉換成float:在整數(shù)后面加.0
  • bool可以轉換成float:true --> 1.0 false -->0.0
  • str可以轉換為float:條件是去掉字符串的引號隶债,剩下的部分本身是一個整形數(shù)據(jù)或者浮點型數(shù)據(jù)的字符串(可以帶+-號)
print(float(100)) # 100.0
print(float(True),float(False)) # 1.0 0.0
print(float('+34'),float('-34.3')) # 34.0 -34.3

3.其他類型的數(shù)據(jù)轉換成bool:bool()

  • 所有類型的數(shù)據(jù)都可以轉換成bool
  • int和float中除了0其他都轉換成True秉溉,0轉換為False
  • str中長度為0的轉換成False力惯,其他的轉換成True
    ......
  • 總結:所有為0為空的值都會轉換成False,其他的值都是True
print(bool(' ')) #True

應用實例:

# 判斷一個字符串是否是空串(長度為0)
# 方法1:
str1 = ''
if str1 == '':
    print('空串')

# 方法2:
if len(str1) == 0:
    print('空串')

# 方法3:
if not str1:
    print('空串')

# 判斷一個數(shù)字是否是0
# 方法1:
number = 10
if number == 0:
    print('是0')
else:
    print("不是0")

# 方法2:
if number:
    print("不是0")
else:
    print('是0')

4.其他類型的數(shù)據(jù)轉換成字符串:str()

  • 所有類型的數(shù)據(jù)都可以轉換成str
  • 其他數(shù)據(jù)轉換成字符串的時候召嘶,就是直接在數(shù)據(jù)的外層加引號
print(str([1,'asd','ss'])) # '[1,'asd','ss']'

python中的循環(huán)

需要重復執(zhí)行某個過程父晶,就可以使用循環(huán)。
python中的循環(huán)有for循環(huán)和while循環(huán)

1.for循環(huán):

for 變量名 in 序列:
循環(huán)體

for:關鍵字
變量名:與聲明變量時的變量名要求是一樣的弄跌,功能是存儲值
in:關鍵字 指明為變量賦值的來源
序列:容器類型的數(shù)據(jù)甲喝,字符串,列表铛只,字典俺猿,元組,集合等
循環(huán)體:會重復執(zhí)行的代碼塊

執(zhí)行過程:使用變量依次存儲序列中的數(shù)據(jù)格仲,沒存儲一次數(shù)據(jù),執(zhí)行一次循環(huán)體

for number in '123456789':
    print('第%c個數(shù)字是%c' % (number,number))
"""
第1個數(shù)字是1
第2個數(shù)字是2
第3個數(shù)字是3
第4個數(shù)字是4
第5個數(shù)字是5
第6個數(shù)字是6
第7個數(shù)字是7
第8個數(shù)字是8
第9個數(shù)字是9
"""

注:xrange是Python2.x中的函數(shù)诵冒,在Python3.x中使用range函數(shù)代替了
range功能是產(chǎn)生指定范圍的數(shù)字序列凯肋。一般用在for循環(huán)中,控制循環(huán)次數(shù)汽馋∥甓或者產(chǎn)生索引值
range(n):產(chǎn)生0~n-1的整數(shù)序列
range(m,n):產(chǎn)生m~n-1的整數(shù)序列
range(m,n,step):產(chǎn)生從m開始到n-1結束,每step取一個的整數(shù)序列

# 產(chǎn)生數(shù)字0~4
for x in range(5):
    print(x)
# 產(chǎn)生數(shù)字10~19
for x in range(10,20):
    print(x)
# 產(chǎn)生0-10的奇數(shù)
for x in range(1,11,2):
    print(x)
# 練習:計算1+2+...+100:
sum1 = 0
for num in range(1,101):
    sum1+=num
print(sum1)
# 練習:只用一個循環(huán)
# 練習:計算1*2*..*10
# 練習:2*4*..*10
sum1 = 1
sum2 = 1
for num in range(1,11):
    sum1*=num
    if not num % 2:
        sum2*=num
print(sum1,sum2)
# 練習2:有一個字符'abcdef'豹芯,依次去除字符串中偶數(shù)位上的字符
line = 'abcdef'
for index in range(0,len(line),2):
    print(l[index])

2.while循環(huán)

while 條件語句:
循環(huán)體

while:關鍵字
條件語句:結果為bool值
循環(huán)體:重復執(zhí)行的代碼塊

執(zhí)行的過程:判斷條件是否為true悄雅,如果是,執(zhí)行循環(huán)體
并在執(zhí)行完循環(huán)體后回到判斷語句
否則跳出循環(huán)執(zhí)行其他語句
注意:如果條件語句的結果一直都是true铁蹈,會造成死循環(huán)
為了避免死循環(huán)應該在循環(huán)體內(nèi)設置結束循環(huán)的操作
python中沒有do-while循環(huán)

# 使用while循環(huán)計算1+2+3+..+100
n=100
sum1 = 0
while n > 0:
    sum1+=n
    n-=1
print(sum1)
# 練習 計算2+4+6+..+100
sum2 =0
n = 2
while n <= 100:
    sum2 += n
    n += 2
print(sum2)

3.continue和break

continue和break兩個關鍵字宽闲,都是作用于循環(huán)當中,用來結束循環(huán)。

  • continue:關鍵字容诬,在循環(huán)體中遇到continue就結束當次循環(huán)娩梨,直接進入下次循環(huán)的判斷
    (如果是for循環(huán)就讓變量去取下一個值,如果是while循環(huán)就去判斷條件語句)
for x in range(10):
    print(x)
    continue # 不執(zhí)行continue后面的語句览徒,直接讓x取下一個值
    print("====")
    
# 打印0-10的偶數(shù)
for x in range(11):
    if x % 2:
        continue
    print(x)
  • break:關鍵字狈定,在循環(huán)體中遇到break,就直接跳出循環(huán)
for x in range(10):
    print(x)
    break
    print('=====')
print('!!!!!!')

# 通過改變條件語句的值來結束循環(huán)
num = 1
while num <=20:
    print(num)
    num += 1
# 通過break結束死循環(huán)
num = 1
while True:
    if num > 20:
        break
    print(num)
    num += 1
# 練習:找出第一個在100-1000以內(nèi)能被3和17 同時整除的數(shù)
num = 100
while True:
    if not(num % 3) and not(num % 17):
        print(num)
        break
    num += 1

4.for和while的選擇

for循環(huán)的循環(huán)次數(shù)是確定的习蓬,while循環(huán)的循環(huán)次數(shù)可以不確定
1.循環(huán)次數(shù)不確定的時候纽什,選擇while循環(huán)。循環(huán)次數(shù)確定時躲叼,選擇for循環(huán)
2.通過循環(huán)遍歷一個序列中的值芦缰,使用for循環(huán)

輸入函數(shù):input()

接收從控制臺輸入的數(shù)據(jù)(輸入的數(shù)據(jù)以回車結束)
程序中遇到input()函數(shù),程序會阻塞押赊,等待用戶輸入完成后饺藤,才會接著執(zhí)行后面的代碼

# 使用value去保存從控制臺輸入的數(shù)據(jù)
value = input()
print(value)
產(chǎn)生隨機數(shù)

python中有一個內(nèi)置模塊,可以產(chǎn)生隨機數(shù):random
導入模塊 import + 模塊名
使用導入模塊的函數(shù) 格式:模塊名+.+函數(shù)名

#產(chǎn)生0-10的隨機整數(shù)
import random
value = random.randint(0,10)
print(value)
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末流礁,一起剝皮案震驚了整個濱河市涕俗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌神帅,老刑警劉巖再姑,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異找御,居然都是意外死亡元镀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門霎桅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栖疑,“玉大人,你說我怎么就攤上這事滔驶∮龈铮” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵揭糕,是天一觀的道長萝快。 經(jīng)常有香客問我,道長著角,這世上最難降的妖魔是什么揪漩? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮吏口,結果婚禮上奄容,老公的妹妹穿的比我還像新娘冰更。我一直安慰自己,他們只是感情好嫩海,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布冬殃。 她就那樣靜靜地躺著,像睡著了一般叁怪。 火紅的嫁衣襯著肌膚如雪审葬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天奕谭,我揣著相機與錄音涣觉,去河邊找鬼。 笑死血柳,一個胖子當著我的面吹牛官册,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播难捌,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膝宁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了根吁?” 一聲冷哼從身側響起员淫,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎击敌,沒想到半個月后介返,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡沃斤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年圣蝎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衡瓶。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡徘公,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哮针,到底是詐尸還是另有隱情步淹,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布诚撵,位于F島的核電站,受9級特大地震影響键闺,放射性物質(zhì)發(fā)生泄漏寿烟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一辛燥、第九天 我趴在偏房一處隱蔽的房頂上張望筛武。 院中可真熱鬧缝其,春花似錦、人聲如沸徘六。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽待锈。三九已至漠其,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竿音,已是汗流浹背和屎。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留春瞬,地道東北人柴信。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像宽气,于是被迫代替她去往敵國和親随常。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一萄涯、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O計...
    子非魚_t_閱讀 4,183評論 1 44
  • 傷口感染加上瘴疫绪氛,小城醫(yī)師已束手無策。將軍時而明白時而糊涂窃判,糊涂時嘴里不過念著“阿熊钞楼,阿熊”,手下也無人知曉什么意...
    籽鹽閱讀 234評論 0 1
  • “這是好麻煩袄琳⊙” 給奶奶打點滴的帥哥大夫說的,他還記得當年的我唆樊,嘻嘻宛琅。 于是我才知道麻煩分兩種,一種“好”一種“壞...
  • 以前學過的逗旁,說話要用結論先行的方式嘿辟,可是啊,我工作匯報時沒做到……事情一復雜片效,情況一緊急红伦,表達就亂了.... 然后...
    Molly_0閱讀 432評論 0 0
  • 連日的暴雨襲入川內(nèi),連平靜的小城也被吹起了波瀾淀衣。水漲到橋堤昙读,雨還下個不停。黑灰色的傘群占據(jù)了橋頭膨桥,迫不及待往外伸的...
    LittleChris閱讀 120評論 0 0