Python學習 條件 迴圈結構

2021-10-08 10:52:45 字數 4232 閱讀 7637

迴圈語句

迴圈語句

練習題

assert expression,

'error_description'

【例子】

my_list =

['gogobaby'

]my_list.pop(

)assert

len(my_list)

>0,

'列表中沒有元素'--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-assertionerror traceback (most recent call last)

input-14

-8c8dcea491da

>

in--

-->

1assert

len(my_list)

>0,

'列表中沒有元素'

assertionerror: 列表中沒有元素

range

([start=0,

] stop [

, step=1]

)#[ ]可省略

start – 起始位置,預設為0

stop – 結束位置預設為1

step – 步長

range 這個bif(built-in functions)的作用是生成乙個從start引數的值開始到stop引數的值結束的數字序列,該序列包含start的值但不包含stop的值。

enumerate

(sequence,

[start=0]

)

sequence – 乙個序列、迭代器或其他支援迭代物件

start – 下標起始位置

返回 enumerate(列舉) 物件

enumerate()與 for 迴圈的結合使用:

for i, a in

enumerate

(a) do something with a

in:

seasons =

['spring'

,'summer'

,'fall'

,'winter'

]lst =

list

(enumerate

(seasons, start=1)

)# 下標從 1 開始

print

(lst)

for i, sea in lst:

print

(i,'i love'

, sea)

out:[(

1,'spring'),

(2,'summer'),

(3,'fall'),

(4,'winter')]

1 i love spring

2 i love summer

3 i love fall

4 i love winter

break語句可以跳出當前所在層的迴圈。

continue終止當前所在層本輪迴圈並開始下一輪迴圈。

passwdlist =

['123'

,'345'

,'890'

]valid =

false

count =

3while count >0:

password =

input

('輸入密碼:'

)for item in passwdlist:

if password == item:

valid =

true

break

#密碼正確就不再在密碼表裡面比對了

ifnot valid:

print

('密碼錯誤'

) count -=

1continue

#給3次輸入密碼的機會

else

:break

pass是空語句,不做任何操作,只起到佔位的作用,其作用是為了保持程式結構的完整性。儘管pass語句不做任何操作,但如果暫時不確定要在乙個位置放上什麼樣的**,可以先放置乙個pass語句,讓**可以正常執行。

【例子】

def

a_func()

:pass

1.編寫乙個python程式來查詢那些既可以被7整除又可以被5整除的數字,介於1500和2700之間。

list=[

]for i in

range

(1500

,2701):

if i%5==

0and i%7==

0:list

str(i)

)print

(','

.join(

list))

# join():連線字串陣列。將字串、元組、列表中的元素以指定的字元(分隔符)連線生成乙個新的字串

2.龜兔賽跑遊戲

題目描述:

話說這個世界上有各種各樣的兔子和烏龜,但是研究發現,所有的兔子和烏龜都有乙個共同的特點——喜歡賽跑。於是世界上各個角落都不斷在發生著烏龜和兔子的比賽,小華對此很感興趣,於是決定研究不同兔 子和烏龜的賽跑。他發現,兔子雖然跑比烏龜快,但它們有眾所周知的毛病——驕傲且懶惰,於是在與烏龜的比賽中,一旦任一秒結束後兔子發現自己領先t公尺或以 上,它們就會停下來休息s秒。對於不同的兔子,t,s的數值是不同的,但是所有的烏龜卻是一致——它們不到終點決不停止。

然而有些比賽相當漫長,全程**會耗費大量時間,而小華發現只要在每場比賽開始後記錄下兔子和烏龜的資料——兔子的速度v1(表示每秒兔子能跑v1 公尺),烏龜的速度v2,以及兔子對應的t,s值,以及賽道的長度l——就能**出比賽的結果。但是小華很懶,不想通過手工計算推測出比賽的結果,於是他找 到了你——清華大學計算機系的高才生——請求幫助,請你寫乙個程式,對於輸入的一場比賽的資料v1,v2,t,s,l,**該場比賽的結果。

輸入:輸入只有一行,包含用空格隔開的五個正整數v1,v2,t,s,l,其中(v1,v2< =100;t< =300;s< =10;l< =10000且為v1,v2的公倍數)

輸出:輸出包含兩行,第一行輸出比賽結果——乙個大寫字母「t」或「r」或「d」,分別表示烏龜獲勝,兔子獲勝,或者兩者同時到達終點。

第二行輸出乙個正整數,表示獲勝者(或者雙方同時)到達終點所耗費的時間(秒數)。

樣例輸入:

10 5 5 2 20

樣例輸出d4

#有錯誤

v1, v2, t, s , l =

map(

lambda x:

int(x)

,input

("請輸入:"

).split())

lr =

0#兔子走的路程

lt =

0#烏龜走的路程

tr =

0#兔子走的時間

tt =

0#烏龜走的時間

while lr > lt + t:

tr += s

tt +=s

lt += s*v2

else

: lr = v1

lt = v2

tr +=

1 tt +=

1if lr == l or lt == l:

break

if lr < l:

print

('t'

)print(.

format

(l/v2)

)elif lr == l:

if tr < l/v2:

print

('r'

)print(.

format

(tr)

)else

:print

('d'

)print(.

format

(l/v2)

)

Python學習 條件分支和迴圈

python學習第三天 條件分支和迴圈 1.if條件分支和while迴圈的應用 採用if,elif,else結構 不建議使用if,if,if的結構,因為當程式每次執行時,程式會對每乙個if進行條件判斷,產生不必要的資源浪費 score int input please enter the score...

python學習 條件判斷

計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。比如,輸入使用者年齡,根據年齡列印不同的內容,在python程式中,用if語句實現 age 20ifage 18 print your age is age print adult 根據python的縮排規則,如果if語句判斷是true,就...

5 python學習 條件語句

程式語言一般都由這麼幾個部分組成 變數條件分支語句 迴圈語句 函式 這裡要說的就是條件分支語句。python的條件語句和shell指令碼的非常像,也就是ifelse ifelse這種形式,其中else if可以縮寫為elif。if 條件判斷1 執行1 elif 條件判斷2 執行2 elif 條件判斷...