2018-09-29 day5總結(jié)

一糖耸、循環(huán)與分支

代碼是從上往下依次執(zhí)行的
import是導(dǎo)入一個(gè)模塊/包的關(guān)鍵字
random模塊中提供很多和隨機(jī)數(shù)相關(guān)的功能

import random

python中的分之結(jié)構(gòu)只有if結(jié)構(gòu)稻轨,沒有switch

1.if就是在程序用來做判斷的(需要在滿足某個(gè)條件的時(shí)候,才做什么事情的情況下就考慮用if)

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

import random
num = random.randint(0, 10)    #取0~10, 11個(gè)數(shù)
 print(num,'是偶數(shù)')

2.if結(jié)構(gòu):

a.語法:
if 條件語句:
執(zhí)行語句塊

b.說明
if -> 是python的關(guān)鍵字
條件語句 -> 要求最終有一個(gè)值,可以是一個(gè)字面量,也可以是一個(gè)變量...一般情況下要求結(jié)果是個(gè)布爾值
: -> 固定寫法
執(zhí)行語句塊 -> 可以是一行或者多行代碼。這個(gè)代碼中的代碼必須和前面中的if保持一個(gè)縮進(jìn)

c.執(zhí)行過程: 先判斷條件語句的結(jié)果是否為True廉丽,為True就執(zhí)行冒號(hào)后面的執(zhí)行語句塊。
否則就不執(zhí)行妻味,直接執(zhí)行if結(jié)構(gòu)后面的其他語句正压。

d.注意:在滿足條件后才執(zhí)行的代碼寫在if中,不管條件是否成立都要執(zhí)行的代碼就寫在if的外面责球。
但是如果有if焦履,if里面至少要有一條語句

print(num)

if num&1 == 0:
    print('是偶數(shù)')

print('======')

練習(xí):判斷一個(gè)字符串中隨機(jī)位置上的一個(gè)字符是否是字母,如果是就打印'該字符是字母'雏逾,
不管是不是字母都打印取出來的字符

str1 = '26hhj88(jk'
index = random.randint(0, len(str1)-1)
char = str1[index]

print(char)

# 判斷是否是字母
if 'a'<=char<='z' or 'A'<=char<'Z':
    print('該字符是字母')  

if char.isalpha():
    print('該字符是字母')  

33.if-else結(jié)構(gòu)

語法:
if 條件語句:
語句塊1
else:
語句塊2

執(zhí)行過程: 先判斷條件語句是否為True,如果為True就執(zhí)行語句塊1嘉裤,否則執(zhí)行語句塊2

num = 11

if num%2 == 0:
    print('是偶數(shù)')
else:
    print('是奇數(shù)')

print('是數(shù)字')

4.if-elif-else結(jié)構(gòu)

語法:
if 條件語句1:
語句塊1
elif 條件語句2:
語句塊2
else:
語句塊3

執(zhí)行過程: 先判斷條件語句1是否成立,
如果成立直接性質(zhì)語句塊1栖博,然后整個(gè)if結(jié)構(gòu)結(jié)束屑宠。
如果不成立,再判斷條件語句2是否成立仇让。
如果條件語句2成立典奉,就執(zhí)行語句塊2,然后整個(gè)if結(jié)構(gòu)結(jié)束丧叽。
如果條件語句2不成立卫玖,執(zhí)行語句塊3

注意:if-elif-else結(jié)構(gòu)中,elif可以根據(jù)情況有多個(gè)踊淳。else可以省略,如果有else假瞬,else寫在最后

練習(xí):隨機(jī)產(chǎn)生0-100的年齡值,根據(jù)年齡的不同確定人處于哪個(gè)階段。笨触。。
0-3歲 ---> 幼兒 4 - 12歲 ---> 兒童 13 - 18 --> 少年 19 --> 28 青年 29以上 ----> 老年

age = random.randint(0, 100)
print(age)
if age<=3:
    print('幼兒')
elif age<=12:
    print('兒童')
elif age<=18:
    print('少年')
elif age<=28:
    print('青年')
else:
    print('老年')

練習(xí)2:成績(grade)和操評(píng)(scrore)
成績大于4并且操評(píng)大于等于90 ---> 一等獎(jiǎng)學(xué)金
績點(diǎn)在3.5到4雹舀,并且操評(píng)大于90 ----> 二等獎(jiǎng)學(xué)金
績點(diǎn)在3到3.5芦劣,并操大于90 ----> 三等獎(jiǎng)學(xué)金
其他情況沒有獎(jiǎng)學(xué)金

grade = 4
scrore = 90
if grade>=4 and scrore >= 90:
    print('一等獎(jiǎng)學(xué)金')
elif 4 > grade >= 3.5 and scrore >= 90:
    print('二等獎(jiǎng)學(xué)金')
elif 3 <= grade < 3.5 and scrore >= 90:
    print('三等獎(jiǎng)學(xué)金')
else:
    print('沒有獎(jiǎng)學(xué)金')  

5.if嵌套

在分之結(jié)構(gòu)中,我們可以if说榆,elif或者else后面嵌套一個(gè)或者多個(gè)其他的if語句
練習(xí):判斷一個(gè)數(shù)是否是偶數(shù)虚吟,如果是打印'是偶數(shù)',
并且判斷這個(gè)偶數(shù)能不能被4整除签财,如果能打印'是4的倍數(shù)'否則打印'不是4的倍數(shù)'
如果是奇數(shù)串慰,打印奇數(shù)的最后一位 / 判斷最后一位是否是1

print('===============')
num = random.randint(0,100)
print(num)

if num & 1 == 0:
    print('是偶數(shù)')

    # 判斷是偶數(shù)的時(shí)候,是否能夠被4整除
    if num % 4 == 0:
        print('是4的倍數(shù)')
    else:
        print('不是4的倍數(shù)')
else:
    print('是奇數(shù)')
    last = num % 10   # 取個(gè)位上的數(shù)
    print(last)

    # 判斷是奇數(shù)的時(shí)候最后一位是否是1
    if last == 1:
        print('最后一位是1')

print('!!')

二唱蒸、for循環(huán)

python中的循環(huán)結(jié)構(gòu)有兩種:for循環(huán)和while循環(huán)
當(dāng)某個(gè)操作/某段代碼需要重復(fù)的執(zhí)行的時(shí)候邦鲫,就需要用到循環(huán)結(jié)構(gòu)

1.for循環(huán)結(jié)構(gòu)

"""
語法:
for 變量 in 序列:
循環(huán)體

說明:
for -> 關(guān)鍵字,寫法固定
變量 -> 變量名,按照變量名要求命名
in -> 關(guān)鍵字神汹,寫法固定
序列 -> 要求是一個(gè)值庆捺,而且值必須一個(gè)序列(容器),比如:字符串、列表屁魏、字典滔以、集合、元祖氓拼、迭代器你画、范圍(Range)
循環(huán)體 -> 和for保持一個(gè)縮進(jìn)的代碼段。循環(huán)體會(huì)被重復(fù)執(zhí)行桃漾。循環(huán)體中可以寫任何代碼

執(zhí)行過程:讓變量去序列中取值坏匪,一個(gè)一個(gè)的取,取完為止呈队。每取一個(gè)值剥槐,執(zhí)行一次循環(huán)體!
x = a
x = b
x = c

a
b
c

for x in 'abc':
    print(x)

print(x)

# 練習(xí):獲取字符串'a78and71-2cd'中數(shù)字字符的個(gè)數(shù)
print('===============')
# 聲明變量來保存數(shù)字字符的個(gè)數(shù)
count = 0
for char in 'a78and71-2cd':
    # 判斷字符是否是數(shù)字
    if char.isdigit():
        # print(char)
        count += 1     # count = count + 1

print(count) 

2.range函數(shù)

a.range(n): 產(chǎn)生一個(gè)0 ~ n-1范圍對(duì)應(yīng)整數(shù)序列
print('===============')
for num in range(10):
    print(num)

# b.range(m,n): 產(chǎn)生一個(gè)m ~ n-1范圍對(duì)應(yīng)的整數(shù)序列
print('===============')
for num in range(10, 21):
    print(num)

# c.range(m,n,step): 產(chǎn)生一個(gè)m ~ n-1中間隔step范圍對(duì)應(yīng)的整數(shù)序列
print('==============')
for num in range(1,10,2):
    print(num)

注意:python2.x --> xrange python3.x --->range 練習(xí):計(jì)算1+2+3+...+100

sum1 = 0

x = 1,2,3,4
x = 1 sum1 += 1 sum1 = sum1+1 = 0+1 = 1
x = 2 sum1 += 2 sum1 = sum1+2 = 1+2
x = 3 sum1 += 3 sum1 = sum1+3 = 1+2+3
x = 4 sum1 += 4 sum1 = sum1+4 = 1+2+3+4

聲明一個(gè)變量保存和

sum1 = 0
for x in range(1,101):
    sum1 += x

print(sum1)

3.注意:循環(huán)結(jié)構(gòu)中變量取到的值不一定要在循環(huán)中使用宪摧。

   如果這個(gè)變量的值在循環(huán)中不需要的時(shí)候粒竖,可以將變量名命名為_

練習(xí): 打印5行*****
for _ in range(5):
print('*****') #五行****

三、while循環(huán)

1.while循環(huán)結(jié)構(gòu)

python中沒有do-while
語法:
while 條件語句:
循環(huán)體

說明:
while -> 關(guān)鍵字
條件語句 -> 和if后面的條件語句要求一樣,可以是任何有值的表達(dá)式(不能是賦值語句)
: -> 固定寫法
循環(huán)體 -> 重復(fù)執(zhí)行的代碼段几于。循環(huán)體要和while保持一個(gè)縮進(jìn)

執(zhí)行過程:判斷條件語句的結(jié)果是否為True蕊苗,為True執(zhí)行循環(huán)體。
執(zhí)行完循環(huán)體沿彭,再判斷條件語句是否為True,為True又執(zhí)行循環(huán)體...
依次類推朽砰,知道判斷條件語句的結(jié)果為False,循環(huán)就結(jié)束

注意: while True: ----> 死循環(huán)

用while循環(huán)實(shí)現(xiàn)1+2+3+...+100
num = 1
sum1 = 0
while num <= 100:
    # print(num)
    sum1 += num
    num += 1

print(sum1)

# 1  2  3 .... 100
# 練習(xí):求n! = 1*2*3*...*n
n = 10
num = 1
sum1 = 1
while num <= n:
    sum1 *= num
    num += 1
print(sum1)  

# 練習(xí):用while循環(huán)獲取字符'hello python'中的每個(gè)字符
str1 = 'hello python'
index = 0
while index < len(str1):
    print(str1[index])
    index += 1

四、for循環(huán)與while循環(huán)

1.如果是不斷的獲取序列中的元素瞧柔,直接使用for循環(huán)

2.如果循環(huán)次數(shù)確定漆弄,最好也使用for循環(huán)

3.死循環(huán)和循環(huán)次數(shù)不確定的時(shí)候最好使用while

# 練習(xí):隨機(jī)產(chǎn)生一個(gè)數(shù)字(0~100),不斷的輸入數(shù)字造锅,直到輸入的數(shù)字和產(chǎn)生的隨機(jī)數(shù)相同為止撼唾。
#      如果猜錯(cuò)了提示大了或者小
import random

# 產(chǎn)生一個(gè)隨機(jī)數(shù)
number = random.randint(0, 100)

# 返回從鍵盤接收到的數(shù)據(jù)(輸入的時(shí)候以回車結(jié)束),返回的數(shù)據(jù)類型是字符串
in_num = input('請(qǐng)輸入一個(gè)整數(shù):')
in_num = int(in_num)

while in_num != number:
    if in_num > number:
        print('太大了,再小點(diǎn)')
    else:
        print('太小了哥蔚,再大點(diǎn)')

    in_num = input('請(qǐng)輸入一個(gè)整數(shù):')
    in_num = int(in_num)

print('恭喜你倒谷!猜對(duì)了:', number)

五、break和continue和else

1.continue
只能寫在循環(huán)體中糙箍,作用是渤愁,當(dāng)遇到continue就結(jié)束當(dāng)次循環(huán)直接進(jìn)行下次循環(huán)的判斷
下次循環(huán)的判斷:for -> 讓變量取下一個(gè)值 while -> 判斷條件是否為True

for x in range(10):
    print(x)
    continue
    print(x*2)


index = 1
while index < 10:
    index += 1
    continue
    print('====')

# 練習(xí):計(jì)算1~100中非奇數(shù)的和 (使用continue)
sum1 = 0
for x in range(1,101):
    if x % 2 == 1:
        continue

    sum1 += x

2.break

只能寫在循環(huán)體中
只要在循環(huán)中遇到break,整個(gè)循環(huán)直接結(jié)束。執(zhí)行循環(huán)后面的其他語句

for x in range(1,10):
    print(x)
    break
    print('=====')
print('#####')

3.else

for 變量 in 序列:
循環(huán)體
else:
代碼塊
while 條件語句:
循環(huán)體
else:
代碼塊

循環(huán)自然死亡后深夯,執(zhí)行else后面的代碼抖格。如果循環(huán)因?yàn)橛龅絙reak結(jié)束,else后邊的代碼塊就不會(huì)執(zhí)行

for x in range(1,10):
    print(x)
    if x == 3:
        break
else:
    print('結(jié)束了')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塌西,一起剝皮案震驚了整個(gè)濱河市他挎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捡需,老刑警劉巖办桨,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異站辉,居然都是意外死亡呢撞,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門饰剥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殊霞,“玉大人,你說我怎么就攤上這事汰蓉”炼祝” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵顾孽,是天一觀的道長祝钢。 經(jīng)常有香客問我,道長若厚,這世上最難降的妖魔是什么拦英? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮测秸,結(jié)果婚禮上疤估,老公的妹妹穿的比我還像新娘灾常。我一直安慰自己,他們只是感情好铃拇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布钞瀑。 她就那樣靜靜地躺著,像睡著了一般慷荔。 火紅的嫁衣襯著肌膚如雪仔戈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天拧廊,我揣著相機(jī)與錄音,去河邊找鬼晋修。 笑死吧碾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墓卦。 我是一名探鬼主播倦春,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼落剪!你這毒婦竟也來了睁本?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤忠怖,失蹤者是張志新(化名)和其女友劉穎呢堰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凡泣,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡枉疼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鞋拟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骂维。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贺纲,靈堂內(nèi)的尸體忽然破棺而出航闺,到底是詐尸還是另有隱情,我是刑警寧澤猴誊,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布潦刃,位于F島的核電站,受9級(jí)特大地震影響稠肘,放射性物質(zhì)發(fā)生泄漏福铅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一项阴、第九天 我趴在偏房一處隱蔽的房頂上張望滑黔。 院中可真熱鬧笆包,春花似錦、人聲如沸略荡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汛兜。三九已至巴粪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間粥谬,已是汗流浹背肛根。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漏策,地道東北人派哲。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像掺喻,于是被迫代替她去往敵國和親芭届。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • 一感耙、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,782評(píng)論 2 16
  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,325評(píng)論 0 2
  • 撐著傘褂乍,背個(gè)背包,走在被沖洗一新的天地里即硼,看著綠油油的樹逃片,聽著雨滴答滴答的聲音,越發(fā)覺得神清氣爽了只酥,連腳步聲都是歡...
    隨喜_閱讀 346評(píng)論 0 0
  • 0×1.RIPv2增強(qiáng)特性RIPv2與RIPv1的相同點(diǎn):也用跳數(shù)作為度量值题诵,最大值為15;也是距離矢量路由協(xié)議层皱;...
    Zero___閱讀 1,936評(píng)論 0 0
  • 2018.1.14 周日 晴 『世上最美麗的離別』真的非常非常非常好看叫胖,一共四集草冈,...
    85后老阿姨閱讀 682評(píng)論 0 0