二 條件迴圈語句

2021-10-08 10:13:06 字數 2989 閱讀 4661

1、查詢那些既可以被7整除又可以被5整除的數字,介於1500和2700之間

1) 使用列表推導式

num=

[i for i in

range

(1500

,2700

)if i %7==

0and i %5==

0]print

(num)

out:

[1505, 1540, 1575, 1610, 1645, 1680, 1715, 1750, 1785, 1820, 1855, 1890, 1925, 1960, 1995, 2030, 2065, 2100, 2135, 2170, 2205, 2240, 2275, 2310, 2345, 2380, 2415, 2450, 2485, 2520, 2555, 2590, 2625, 2660, 2695]

2)使用迴圈語句

numlist=

range

(1500

,2700

)for num in numlist:

if num %7==

0and num %5==

0:print

(num, end=

',')

out: 1505,1540,1575,1610,1645,1680,1715,1750,1785,1820,1855,1890,1925,1960,1995,2030,2065,2100,2135,2170,2205,2240,2275,2310,2345,2380,2415,2450,2485,2520,2555,2590,2625,2660,2695

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的公倍數)

自己嘗試程式設計的過程中進行了一些優化,記錄如下:

#龜兔賽跑,**獲勝者   

''' 這麼乙個個輸入太麻煩

# temp=input('輸入兔子速度 v1<=100:')

# v1=int(temp)

# temp=input('輸入烏龜速度 v2<=100:')

# v2=int(temp)

# temp=input('輸入兔子休息時領先的距離 t<=300:')

# t=int(temp)

# temp=input('輸入兔子休息的時間 s<=10:')

# s=int(temp)

# temp=input('輸入全程長度 l<=10000:')

# l=int(temp)

'''[v1,v2,t,s,l]

=list

(map

(int

,input

('請分別輸入五個正整數v1,v2,t,s,l:'

).split())

)#直接將輸入字元按照空格分隔開並轉成整型,組成列表

''' 以下這樣轉資料型別的方式不簡潔

para=temp.split() #split是分隔函式,遇到空格就分隔開

para=int(para)

for i in range(len(para)): #將輸入轉成整型

para[i]=int(para[i])

'''

t1=int

(l/v1)

#兔子無休息跑完全程的時間

t2=int

(l/v2)

#烏龜跑完全程的時間

times=

range(1

, t2)n=0

#兔子休息的次數

for time in times:

#兔子跑過的路程要用兔子實際跑的時間 time-n*s 來計算

if v1*

(time-n*s)

< l and v1*

(time-n*s)

-v2*time >= t:

n+=1 t1 += s

if v1*

(time-n*s)

== l:

#當兔子到達終點時退出迴圈

break

if t1print

('獲勝者為:'

,"r"

)print

(,t1)

elif t1>t2:

print

('獲勝者為:'

,"t"

)print

(,t2)

else

:print

('獲勝者為:'

,"d"

)print

(,t1)

str

="line1-abcdef \nline2-abc \nline4-abcd"

;aa=

str.split();

# 以空字元為分隔符,包含空格和 \n

bb=str

.split(

' ')

;# 以空格為分隔符

aa=[『line1-abcdef』, 『line2-abc』, 『line4-abcd』]

bb= [『line1-abcdef』, 『\nline2-abc』, 『\nline4-abcd』]

python初學二 條件語句

1.句法 one way decision if two way decision if else multiway decision if elif else 2.try.except 語句 異常處理 如果try後的語句出現執行錯誤 程式會執行except後的語句 在執行try中的語句時在那條語句...

Python筆記二 條件與迴圈

語句塊不是一種語句,是一組語句。在條件為真時執行或者多次的一組語句。主要注意其格式,用冒號來標識語句塊的開始,塊中每行縮排相同的量,一般4個空格 tab字元位置為8個空格,不使用 簡單的說就是通過縮排使語句成組的一種方式。python中,false none 0 這些作為布林表示式的時候都會為假。i...

shell指令碼二 條件語句和多路分支語句

bin bash if ne 1 then echo usage 0 filename exit fiif e 1 then echo 1 not exist exit fiif d 1 then echo 1 is a directory exit else if f 1 then echo 1 ...