day4-循環(huán)和分之

1.if

1.if 條件語句:
代碼塊

其他語句

執(zhí)行過程:先判斷條件語句是否為True,如果是True就執(zhí)行代碼塊,執(zhí)行完代碼塊再執(zhí)行其他語句。
如果是False,直接執(zhí)行其他語句

2.if--else
if 條件語句:
代碼塊1
else:
代碼塊2

其他語句

執(zhí)行過程:先判斷條件語句是否為True,如果為True就執(zhí)行代碼塊1请毛,執(zhí)行完代碼塊1再執(zhí)行其他語句。
如果是False,執(zhí)行代碼塊2檬输,執(zhí)行完代碼塊2枚粘,再執(zhí)行其他語句

3.if-elif-elif-...-else
if 條件語句1:
代碼塊1
elif 條件語句2:
代碼塊2
else:
代碼塊3

其他語句

執(zhí)行過程: 先判斷條件語句1是否為True,如果為True就執(zhí)行代碼塊1,執(zhí)行完代碼塊1再執(zhí)行其他語句蚊丐。
如果條件語句1是False,就判斷條件語句2是否為True:
如果條件語句2為True就執(zhí)行代碼塊2熙参,執(zhí)行完代碼塊2再執(zhí)行其他語句
如果條件語句2為False就執(zhí)行代碼塊3,執(zhí)行完代碼塊3再執(zhí)行其他語句

例:給一個(gè)學(xué)生的成績麦备,判斷成績是優(yōu)秀(90-100)孽椰、良好(70-89)昭娩、及格(60-69)、不及格(0-59)

score  = -40
if 90<=score<=100:
    print('優(yōu)秀')

elif 70<=score<90:
    print('良好')

elif 60<=score<70:
    print('及格')

elif 0<=score<60:
    print('不及格')
else:
    print('成績有誤!!')

print('======')

4.if語句可以嵌套使用

if 條件語句1:
if 條件語句2:
執(zhí)行語句塊2
else:
執(zhí)行語句塊3
else:
執(zhí)行語句塊4

練習(xí):給一個(gè)數(shù)字(整數(shù))黍匾,如果是偶數(shù)就打印‘xxx是偶數(shù)’栏渺,是偶數(shù)并且還能被4整除就打印‘xxx是4的倍數(shù)’,否則打印‘xxx是奇數(shù)’

是偶數(shù) ---> 打印‘xxx是偶數(shù)’--->如果還能被4整除膀捷,打印‘xxx是4的倍數(shù)‘
是奇數(shù) ---> 打印’xxx是奇數(shù)‘

numer = 12
if numer%2 == 0:
    print('%d是偶數(shù)' % (numer))

    if numer % 4 == 0:
        print('%d是4的倍數(shù)' % (numer))
else:
    print('%d是奇數(shù)' % (numer))
if numer%2:
    print('奇數(shù)')
 else:
    print('偶數(shù)')
if isinstance(numer, int):
    print('是整數(shù)')
    if numer % 2:
        print('奇數(shù)')
    else:
        print('偶數(shù)')
        if not (numer % 4):
            print('是4的倍數(shù)')

print('=====')

5.判斷數(shù)據(jù)的類型
isinstance(值,類型名) --> 判斷指定的值是否是指定的類型迈嘹,如果是結(jié)果是True,否則結(jié)果是False
print(isinstance(10, int)) # 判斷10是否是int類型
print(isinstance(12.0, int))

1.數(shù)據(jù)類型轉(zhuǎn)換: 類型名(被轉(zhuǎn)換的數(shù)據(jù))

int float bool str

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

浮點(diǎn)型:只保留整數(shù)部分
布爾類型:True -> 1 False -> 0
字符串:去掉字符串的引號后全庸,剩下的部分本身就是一個(gè)整型數(shù)據(jù)的字符串才能轉(zhuǎn)換成整數(shù)秀仲。

print(int(12.9))
print(int(False))
print(int('+12'))

2.其他的數(shù)據(jù)類型轉(zhuǎn)換成浮點(diǎn)型: float()

整型:在整數(shù)后面加一個(gè)'.0'
布爾類型: True -> 1.0 False -> 0.0
字符串:去掉字符串的引號后,剩下的部分本身就是一個(gè)整型或者浮點(diǎn)型數(shù)據(jù)的字符串才能轉(zhuǎn)換成浮點(diǎn)型數(shù)據(jù)

print(float(123))
print(float(False))
print(float('+100.23'))

3.其他類型的數(shù)據(jù)轉(zhuǎn)換成布爾類型:bool()

不管什么類型的數(shù)據(jù)都可以轉(zhuǎn)換成布爾值

整數(shù)中壶笼,除了0會(huì)轉(zhuǎn)換成False其他的都會(huì)轉(zhuǎn)換成True

總結(jié):所有為0為空的值都會(huì)轉(zhuǎn)換成False,其他的值都是True

print(bool({}))

if 0:
    print('====')
else:
    print('!!!')

判斷一個(gè)字符串是否是空串(字符串長度是0)
空串就是:'',""
str1 = '12'

方法1

if str1 == '':
    print('空串')
else:
    print('不是空串')
 方法2
if len(str1) == 0:
    print('空串')
else:
    print('不是空串')

 方法3
if str1:
    print('不是空串')
else:
    print('空串')

判斷一個(gè)數(shù)字是否是0

number = 10

# 方法1
if number == 0:
    print('是零')
else:
    print('非零')


# 方法2
if number:
    print('非零')
else:
    print('零')

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

不管什么類型的數(shù)都可以轉(zhuǎn)換成字符串

其他數(shù)據(jù)轉(zhuǎn)換成字符串的時(shí)候神僵,就是直接在數(shù)據(jù)的外層加引號

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

1.for循環(huán):

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

for: 關(guān)鍵字
變量名: 和聲明變量時(shí)的變量名要求是一樣的保礼,功能是存儲(chǔ)值
in: 關(guān)鍵字,在责语。炮障。。里的意思
序列: 容器類型的數(shù)據(jù)坤候。字符串胁赢、列表、字典白筹、元祖智末、集合等
循環(huán)體: 會(huì)重復(fù)執(zhí)行的代碼塊

執(zhí)行過程:使用變量去序列中取數(shù)據(jù),一個(gè)一個(gè)的取徒河,取完為止系馆。每取一個(gè)值,執(zhí)行依次循環(huán)體

for char in 'abcd123':
    print(char)
    print('!')

print('=====')

打印20次‘a(chǎn)bc’
2.range函數(shù)

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):從m開始,每次加step產(chǎn)生下一個(gè)數(shù)字奢人,直到n前面那一個(gè)為止

range(10):產(chǎn)生數(shù)字0谓媒,1,2何乎,3句惯,4土辩,5,6抢野,7拷淘,8,9

for x in range(10):
    print(x)

print('=======')

range(10,20):產(chǎn)生數(shù)字:10~19

for x in range(10,20):
    print(x)

print('+++++++')

range(0,10,2):產(chǎn)生數(shù)字:0指孤,2启涯,4,6恃轩,8

for x in range(0,10,2):
    print(x)
# 練習(xí):計(jì)算1+2+3+...+100
sum1 = 0   # 聲明一個(gè)變量來存和
for x in range(1,101):
    sum1 += x

print(sum1)

sum1 = 0

x 在 (1-100)
x = 1 sum1 += 1 = 0+1
x = 2 sum1 += 2 = 1+2
x = 3 sum1 += 3 = 1+2+3
...
x = 100 sum1 += 100 = 1+2+3+..+99 + 100

"""

練習(xí):只使用一個(gè)循環(huán)
計(jì)算123..10
計(jì)算246...10
mul1 = 1 # 聲明一個(gè)變量來存乘積
mul2 = 1

遍歷取出1-10中所有的數(shù)字

for x in range(1,11):
    mul1 *= x  # mul1 = mul1*x

    # 判斷x是否是偶數(shù)
    if x % 2 == 0:
        mul2 *= x

print(mul1)
print(mul2)
# 練習(xí)2:有一個(gè)字符串‘a(chǎn)bcdef’,依次取出字符串中偶數(shù)位(下標(biāo)值是偶數(shù))上的字符
# 0 ~ len-1
str1 = 'abcdef'

# 方法一:
# 循環(huán)取出字符串所有的偶數(shù)下標(biāo)
# index = 0,2,4
for index in range(0,len(str1),2):
    print(str1[index])


# 方法二:
# 循環(huán)取出字符串中每個(gè)字符的下標(biāo)
for index in range(0,len(str1)):
    # 判斷下標(biāo)是否是偶數(shù)
    if index % 2 == 0:
        print(str1[index])
    
print('======')

# 方法三:
index = 0
for char in str1:
    if index % 2 ==0:
        print(char)
    index += 1

"""
index = 0

char = (abcdef)
char = a   index = 0   print('a')  index = 1
char = b   index = 1   index = 2
char = c   index = 2   print('c')   index = 3
...

"""

4. while循環(huán)

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

其他語句

while: 關(guān)鍵字
條件語句:結(jié)果是True,或者False
循環(huán)體: 重復(fù)執(zhí)行的代碼段

執(zhí)行過程:判斷條件語句是否為True,如果為True就執(zhí)行循環(huán)體结洼。
執(zhí)行完循環(huán)體,再判斷條件語句是否為True,如果為True就再執(zhí)行循環(huán)體....
直到條件語句的值為False,循環(huán)結(jié)束叉跛,直接執(zhí)行while循環(huán)后面的語句

注意:如果條件語句的結(jié)果一直都是True松忍,就會(huì)造成死循環(huán)。所以在循環(huán)體要有讓循環(huán)可以結(jié)束的操作

python中沒有do-while循環(huán)
"""

死循環(huán)
while True:
print('aaa')

循環(huán)只執(zhí)行一次
flag = True
while flag:
print('aaa')
flag = False

使用while循環(huán)計(jì)算1+2+3+...+100
number = 1 # 保存數(shù)字1-100
sum1 = 0 # 保存和
while number <= 100:
print(number)
sum1 += number

每次循環(huán)讓number值加1
number += 1

print(sum1)

# 練習(xí):計(jì)算2+4+6+...100
number = 2
sum2 = 0
while number <= 100:
    sum2 += number
    number += 2

print(sum2,number)

5.break和continue

break和continue兩個(gè)關(guān)鍵字筷厘,都是作用域循環(huán)當(dāng)中鸣峭,用來結(jié)束循環(huán)的。

continue: 關(guān)鍵字酥艳,在循環(huán)體中遇到continue情臭,就結(jié)束當(dāng)次循環(huán)杖狼,直接進(jìn)入下次循環(huán)的判斷
(如果是for循環(huán)幢竹,就讓變量去取下一個(gè)值记劈。如果是while循環(huán)就去判斷while后邊的條件語句是否為True)

for x in range(10):
    print(x)
    continue   # 不執(zhí)行continue后面的語句,直接讓x取下一個(gè)值
    print('====')

print('=====')


for x in range(10):
    if x % 2:
        continue
    print(x)  

break:關(guān)鍵字赫冬,在循環(huán)體中遇到break,就直接結(jié)束整個(gè)循環(huán)浓镜。直接執(zhí)行循環(huán)后邊的其他語句

for x in range(10):
    print(x)
    break
    print('======')
print('!!!!')

通過改變條件語句的值溃列,來結(jié)束循環(huán)

numer = 1
while numer <= 100:
    print(numer)
    numer += 1

使用break結(jié)束死循環(huán)

numer = 1
while True:
    if numer > 100:
        break
    print('==:',numer)

    numer += 1
# 練習(xí):找出100-1000以內(nèi)第一個(gè)能夠被3整除同時(shí)能夠被17整除的數(shù)
for x in range(100,1001):
    if x%3==0 and x%17==0:
        print(x)
        # 找到第一個(gè)就不用再往下找了
        break

6.for和while的選擇

for循環(huán)的循環(huán)次數(shù)是確定的劲厌,white循環(huán)的循環(huán)次數(shù)可以不確定

1.循環(huán)次數(shù)不確定的時(shí)候,選擇while循環(huán)听隐。次數(shù)確定一般使用for循環(huán)
2.通過循環(huán)遍歷一個(gè)序列中的值补鼻,使用for循環(huán)

2.input()

input():接收從控制臺(tái)輸入數(shù)據(jù)的數(shù)據(jù)(輸入的數(shù)據(jù)以回車結(jié)束)
程序中遇到input()函數(shù),程序會(huì)阻塞雅任,等待用戶輸入完成后风范,才會(huì)接著執(zhí)行后面的代碼
"""
使用value去保存從控制臺(tái)輸入的數(shù)據(jù)

value = input()

# print('=====')

3.產(chǎn)生隨機(jī)數(shù)
python中有一個(gè)內(nèi)置模塊,可以產(chǎn)生隨機(jī)數(shù):random

randint(m,n):產(chǎn)生一個(gè)m~n的隨機(jī)數(shù)(整數(shù))

導(dǎo)入random模塊
import random

產(chǎn)生100-200的隨機(jī)數(shù)

number = random.randint(100,200)
print(number)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沪么,一起剝皮案震驚了整個(gè)濱河市硼婿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌禽车,老刑警劉巖寇漫,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刊殉,死亡現(xiàn)場離奇詭異,居然都是意外死亡州胳,警方通過查閱死者的電腦和手機(jī)记焊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栓撞,“玉大人遍膜,你說我怎么就攤上這事∪肯妫” “怎么了瓢颅?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長岭粤。 經(jīng)常有香客問我惜索,道長,這世上最難降的妖魔是什么剃浇? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任巾兆,我火速辦了婚禮,結(jié)果婚禮上虎囚,老公的妹妹穿的比我還像新娘角塑。我一直安慰自己,他們只是感情好淘讥,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布圃伶。 她就那樣靜靜地躺著,像睡著了一般蒲列。 火紅的嫁衣襯著肌膚如雪窒朋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天蝗岖,我揣著相機(jī)與錄音侥猩,去河邊找鬼。 笑死抵赢,一個(gè)胖子當(dāng)著我的面吹牛欺劳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铅鲤,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼划提,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了邢享?” 一聲冷哼從身側(cè)響起鹏往,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎骇塘,沒想到半個(gè)月后伊履,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袜漩,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年湾碎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宙攻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡介褥,死狀恐怖座掘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柔滔,我是刑警寧澤溢陪,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站睛廊,受9級特大地震影響形真,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜超全,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一咆霜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘶朱,春花似錦蛾坯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至财异,卻和暖如春倘零,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背戳寸。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工呈驶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人庆揩。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓俐东,卻偏偏與公主長得像跌穗,于是被迫代替她去往敵國和親订晌。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)蚌吸,也就是一...
    悟名先生閱讀 4,151評論 0 13
  • 寒食書事.趙鼎 寂寞柴門村落里锈拨,也教插柳記年華。 禁煙不到粵人國羹唠,上冢亦攜龐老家奕枢。 漢寢唐陵無麥飯娄昆,山溪野徑有梨花...
    虛舟一葉閱讀 178評論 0 0
  • Given two non-negative integers num1 and num2 represented...
    persistent100閱讀 156評論 0 0
  • 前段時(shí)間看到新聞?wù)f大學(xué)生打暑假工被騙。大學(xué)處于進(jìn)入社會(huì)交替期缝彬,而大學(xué)生閱歷又不夠萌焰,所以顯得弱勢。 大學(xué)學(xué)費(fèi)高昂谷浅,筆...
    流云漓彩閱讀 1,057評論 4 28
  • 其實(shí)我還是不懂扒俯,我們活著到底是為什么?但我也不是那種悲觀主義者一疯。只是活的特別淡撼玄,“淡”也代表著沒有特別...
    言良子閱讀 234評論 0 0