程序的控制結構

一整胃、程序的分支結構

1旧噪、單分支結構

根據判斷條件結果而選擇不同向前路徑的運行方式

? ?? if <條件>:

? ? ? ? <語句塊>

單分支示例

guess=eval(input())

if guess == 99: ? ? ? ? ? ? ? ? ? ? ?? if Ture:

? ?? print("猜對了") ? ? ? ? ? ? ? ? ? ? ? ?? print("條件正確")

2了赵、二分支結構

根據判斷條件結果而選擇不同向前路徑的運行方式

if <條件>:?

?? <語句塊1>

else :

?? <語句塊2>

二分支示例

guess = eval(input())

if guess == 99: ? ? ? ? ? ? ? ? ? ? ? ? ? ? if Ture:

? ?? print("猜對了") ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("語句塊1")

else: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else:

? ?? print("猜錯了") ? ? ? ? ? ? ? ? ? ? ? ? ? ? print("語句塊2")

緊湊形式:適用于簡單表達式的二分支結構

<表達式1> if <條件> else <表達式2>

guess = eval(input())

print("猜{}了".format("對"if guess==99 else "錯"))

其中的對和錯不是賦值而是表達式的一部分

注:if、else輸出的不是語句而是表達式蒸矛,語句為賦值形式的,有等號的扫外,if莉钙、else不支持帶等號的賦值形式。

3筛谚、多分支結構

根據多個判斷條件來選擇不同語句塊運行的一種分支結構

if <條件>:?

?? <語句塊1>

elif :

?? <語句塊2>

? ? ······

else :

?? <語句塊2>

對不同分數分級的問題

score = eval(input())

if score >= 60:

?? grade = "D"

elif score >= 70: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -注意多條件之間的包含關系

?? grade = "C" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -注意變量取值范圍的覆蓋

elif score >= 80:

?? grade = "B"

elif score >= 90:

?? grade = "A"

print("輸入成績屬于級別{}“.format(grade))

4磁玉、條件判斷及組合

操作符


用于條件組合的三個保留字

操作符及使用 ? ? ? ? ? ? ? ? ? ? ? ? ? 描述

? ?? x and y ? ? ? ? ? ? ? ? ? 兩個條件x和y的邏輯 與

? ? ? x or y ? ? ? ? ? ? ? ? ? ? 兩個條件x和y的邏輯 或

? ? ?? not x ? ? ? ? ? ? ? ? ? ? ? ?? 條件x的邏輯 非

5、程序的異常處理

try:

? ? <語句1>

except:

? ? <語句2>

實例:

try:

? ? num=eval(input())

? ? print(num**2)

expect NaneError:

print("輸入的數字非整數")

高級異常處理:

try:

? ? <語句1>

except:

? ? <語句2>

else:

? ? <語句3>

finally:

? ? <語句4>

else為不發(fā)生異常時執(zhí)行驾讲,finally為一定執(zhí)行

二蚊伞、程序的循環(huán)結構

1、遍歷循環(huán)

定義:遍歷某個結構形成的循環(huán)運行方式

for<循環(huán)變量>in<遍歷結構>:

?? <語句塊>

計數循環(huán)

基本:

for i in range(N)

? ?? print(i)

for i in range(5):

? ?? print(i)

for i in range(5):

? ?? print("hello",i)

變形:

for i in range(M,N,K):

? ?? print(i)

for i in range(1,6):

? ?? print(i)

for i in range(1,6,2)

? ?? print("hello",i)

字符串遍歷循環(huán)

for c in s:

? ? <語句塊>

for c in "PYTHON123":

? ?? print(c,end=",")

列表遍歷循環(huán)

for item in Is:

? ? ? <語句塊>

for item in[123,"PY",456]:

? ? ?? print(item,end=",")

文件遍歷循環(huán)

for line in fi:

? ? ?? <語句塊>

2吮铭、無限循環(huán)

定義:由條件控制的循環(huán)運行方式

有限:

a=3

while a >0:

?? a=a-1

?? print(a)

無限:

a=3

while a >0:

?? a=a+1

?? print(a)

3时迫、循環(huán)控制保留字

常用:break ? continue

break:跳出并結束當前整個循環(huán),執(zhí)行循環(huán)后的內容

continue:結束檔次循環(huán)谓晌,繼續(xù)執(zhí)行后續(xù)循環(huán)

break實例:

for c in “PYTHON123”:

? ? if c=="T":

? ? ?? break

? ?? print(c,end="")

continue實例:

for c in "PYTHON123":

? ? if c==“T”

? ? ?? continue

? ? print(c,end="")

實例:

s="PYTHON"

while s!="":

? ? for c in s:

? ? ? ? print(c,end="")

? ? s=s[:-1]

s="PYTHON"

while s!=""

? ? for c in s:

? ? ? ? if c=="T":

? ? ? ? ?? break

? ? ? ?? print(c,end="")

? ? ? s=s[:-1]

4掠拳、循環(huán)的高級用法

可與else搭配

for c in "PYTHON123"

? ?? if c=="T"

? ? ? ? continue

? ?? print(c,end="")

else:

? ?? print("正常退出")

for c in "PYTHON123"

? ?? if c=="T"

? ? ? ? break

? ?? print(c,end="")

else:

? ?? print("正常退出")

三、random庫的使用

定義:random庫是使用隨機數的標準庫

分類:

隨機函數

用法

seed(a=None)

初始化給定的隨機數種子纸肉,默認為當前系統(tǒng)時間溺欧。

<br/>random.seed(10)喊熟,產生種子10對應序列

random()

生成一個(0.0,1.0)之間的小數<br/>random.random()

random(a,b)

生成a,b之間的整數<br/>random.randint(10,100)

randrange(m,n,k)

生成(M,N)之間以K為步長的整數<br/>random.randrange(10,100,10)

getrandbits(k)

生成 一個K比特長的隨機整數<br/>random.getrandbits(16)

uniform(a,b)

生成一個(a,b)之間的隨機小數<br/>random.uniform(10,100)

choice(seq)

從數列seq中隨機選取一個元素<br/>random.choice([1,2,3,4,5,6,7,8])

shuffle(seq)

將seq中元素隨機排列,返回后打亂順序<br/>s=[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s)

實例:

import random

random.seed(10)

random.random()

四姐刁、圓周率的計算

公式法:

#CalPiV1.py

pi=0

N=100

for k in range(N):

pi+=1/pow(16,k)*(4/(8*k+1)-2/(8*k+5)-1/(8*k+6))

print("圓周率的值是:{}".format(pi))

蒙特卡羅法實例:

#CalPiV2.py

import random?import random

form time import perf_counter

DARTS=1000*1000

hits=0.0

start=perf_counter()

for i in range(1,DARTS+1):

? ? x,y=random(),random()

? ? dist=pow(x**2+y**2,0.5)

? ? if dist <=1.0:

? ? ?? hits=1+hits

pi=4*(hits/DARTS)

print("圓周率的值是:{}".format(pi))

print("運行時間為:{:.5f}s".format(perf_counter()-start))

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末芥牌,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子聂使,更是在濱河造成了極大的恐慌壁拉,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柏靶,死亡現場離奇詭異弃理,居然都是意外死亡,警方通過查閱死者的電腦和手機屎蜓,發(fā)現死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門案铺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梆靖,你說我怎么就攤上這事控汉。” “怎么了返吻?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵姑子,是天一觀的道長。 經常有香客問我测僵,道長街佑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任捍靠,我火速辦了婚禮沐旨,結果婚禮上,老公的妹妹穿的比我還像新娘榨婆。我一直安慰自己磁携,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布良风。 她就那樣靜靜地躺著谊迄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪烟央。 梳的紋絲不亂的頭發(fā)上统诺,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音疑俭,去河邊找鬼粮呢。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的啄寡。 我是一名探鬼主播移怯,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼这难!你這毒婦竟也來了?” 一聲冷哼從身側響起葡秒,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姻乓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后眯牧,有當地人在樹林里發(fā)現了一具尸體蹋岩,經...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年学少,在試婚紗的時候發(fā)現自己被綠了剪个。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡版确,死狀恐怖扣囊,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情绒疗,我是刑警寧澤侵歇,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站吓蘑,受9級特大地震影響惕虑,放射性物質發(fā)生泄漏。R本人自食惡果不足惜磨镶,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一溃蔫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琳猫,春花似錦伟叛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雹锣,卻和暖如春网沾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蕊爵。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工辉哥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓醋旦,卻偏偏與公主長得像恒水,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子饲齐,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,031評論 0 2
  • 程序的流程圖 a程序的基本結構 程序由三種基本結構組成: 順序結構 分支結構 循環(huán)結構 這些基本結構都有一個入口和...
    井上皓閱讀 2,061評論 0 0
  • 個人學習批處理的初衷來源于實際工作钉凌;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,725評論 0 11
  • 【微服務>>>負載均衡】 一捂人、簡介 Ribbon是一個負載均衡組件御雕,具有豐富的負載均衡策略...
    夏天的風風風閱讀 2,484評論 0 52
  • 《建構解決之道》56-60頁 建構解決之道晤談歷程要素 (一)尊重,確認滥搭,轉化當事人的知覺 當咨詢師能尊重當事人的...
    賀瑾閱讀 144評論 0 1