欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python怎樣更加簡潔的解決小明種蘋果

 更新時(shí)間:2021年04月07日 14:17:48   作者:EmithFla  
這篇文章主要介紹了python怎樣更加簡潔的解決小明種蘋果。想了解數(shù)據(jù)結(jié)構(gòu)和算法的同學(xué),可以參考下

這道題需要我們解決三個(gè)小問題:

  1. 輸出全部操作結(jié)束后,所有蘋果樹上蘋果剩余的個(gè)數(shù);
  2. 發(fā)生蘋果掉落的蘋果個(gè)數(shù);
  3. 相鄰三顆蘋果樹發(fā)生蘋果掉落情況的組數(shù)

最有意思的是第3個(gè)小問,按照我的理解,這些蘋果樹是一列的,只需要把每顆蘋果樹是否掉落蘋果的狀態(tài)存入列表中,再統(tǒng)計(jì)出列表中連續(xù)出現(xiàn)三個(gè)1的次數(shù)即可。但題目中的這N顆蘋果樹排成了一個(gè)圓,這里的相鄰,需要考慮列表的頭和尾。
總結(jié)一下大家的做法,大致有三種:

  1. 當(dāng)超過三棵樹時(shí)通過對(duì)列表索引求余解決
  2. 再一個(gè)是把列表的前兩個(gè)元素添加到列表的末尾解決
  3. 最后一個(gè)相對(duì)復(fù)雜,每一次遍歷都要考慮列表的頭和尾的情況,通過賦值來改變索引。

感覺以上方式過于復(fù)雜,因此,我分享出我的代碼:

for i in range(len(l)):
 if l[i-2] and l[i-1] and l[i]:
 e += 1

改變一下索引,直接從列表的最后兩個(gè)元素開始讀取,全是1的情況e就自加1。這個(gè)方法看起來似乎簡便些。

同時(shí)也分享一下上述三種情況的代碼,大家可自取所需:

if N >= 3: # 蘋果樹少于三棵時(shí) 直接為0
 for y in range(len(is_fall)):
 if is_fall[y%len(is_fall)] == is_fall[(y+1)%len(is_fall)] == is_fall[(y+2)%len(is_fall)] == 1:
  E += 1
else:
 E = 0

res_drop.append(res_drop[0])
res_drop.append(res_drop[1])
for i in range(N):
 if res_drop[i] == 1 and res_drop[i+1] == 1 and res_drop[i+2] == 1:
 num += 1
print(' '.join([str(res),str(count_drop),str(num)]))

for i in range(len(is_fall)):
 pre=i-1
 if pre<0:
 pre+=len(is_fall)
 next=i+1
 if next > len(is_fall)-1:
 next-=len(is_fall)
 if is_fall[pre]==is_fall[i]==is_fall[next]==1:
 E+=1

以下是我對(duì)這題的解法:

n = int(input())
result = 0 # 總共剩余的蘋果
count = 0
e = 0 # 連續(xù)三顆樹的掉落情況
dl = 0 # 掉落的蘋果棵樹
l = [0] * n # n顆蘋果樹是否有蘋果掉落的情況
for i in range(n):
 fs = []
 zs = []
 s = total = 0
 x = list(map(int,input().split()))
 x = x[::-1]
 caozuo = x.pop()
 #判斷剩余的蘋果個(gè)數(shù)
 for j in range(caozuo):
 s = x[j]
 if s <= 0:
  fs.append(s)
  #print(fs)
 else:
  zs.append(s)
  break

 result += sum(fs) + zs[0]

 total = x.pop()
 ss = 0
 for j in range(len(x)):
 flag = z = 0
 s = x.pop()
 if s < 0:
  ss = ss + s
 elif s == 0:
  continue
 else:
  z = s
  total = total + ss
  if total > z:
  flag = 1
  else:
  flag = 0
 l[i] = flag
 if flag == 1:
  dl += 1
  break
 else:
  continue
  
for i in range(len(l)):
 if l[i-2] and l[i-1] and l[i]:
 e += 1
print(result,dl,e)

第1小問的思路是對(duì)列表進(jìn)行反轉(zhuǎn),遍歷列表,遇到復(fù)數(shù)相加,遇到正數(shù)停止,并用該正數(shù)加上前面的復(fù)數(shù)和,循環(huán)得到所有樹上的蘋果數(shù)。
第2小問的思路是利用棧,對(duì)彈出列表中的元素求和,遇到正數(shù)停止并比較其大小來判斷是否發(fā)生掉落。

以上就是python怎樣更加簡潔的解決小明種蘋果的詳細(xì)內(nèi)容,更多關(guān)于python解決小明種蘋果的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:

相關(guān)文章

  • Python/R語言分別實(shí)現(xiàn)斐波那契數(shù)列的示例詳解

    Python/R語言分別實(shí)現(xiàn)斐波那契數(shù)列的示例詳解

    這篇文章將通過兩個(gè)小問題:年齡計(jì)算、斐波那契數(shù)列,帶領(lǐng)大家深入淺出的理解兩種語言的基本語法,并用以實(shí)際場景,需要的可以參考一下
    2022-03-03
  • 對(duì)IPython交互模式下的退出方法詳解

    對(duì)IPython交互模式下的退出方法詳解

    今天小編就為大家分享一篇對(duì)IPython交互模式下的退出方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python多進(jìn)程重復(fù)加載的解決方式

    python多進(jìn)程重復(fù)加載的解決方式

    今天小編就為大家分享一篇python多進(jìn)程重復(fù)加載的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Appium+python自動(dòng)化之連接模擬器并啟動(dòng)淘寶APP(超詳解)

    Appium+python自動(dòng)化之連接模擬器并啟動(dòng)淘寶APP(超詳解)

    這篇文章主要介紹了Appium+python自動(dòng)化之 連接模擬器并啟動(dòng)淘寶APP(超詳解)本文以淘寶app為例,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-06-06
  • 關(guān)于python3.7安裝matplotlib始終無法成功的問題的解決

    關(guān)于python3.7安裝matplotlib始終無法成功的問題的解決

    這篇文章主要介紹了關(guān)于python3.7安裝matplotlib始終無法成功的問題的解決,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解pandas.DataFrame.plot() 畫圖函數(shù)

    詳解pandas.DataFrame.plot() 畫圖函數(shù)

    這篇文章主要介紹了詳解pandas.DataFrame.plot()畫圖函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python3實(shí)現(xiàn)高效的端口掃描

    python3實(shí)現(xiàn)高效的端口掃描

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)高效的端口掃描,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python中Iterator迭代器的使用雜談

    Python中Iterator迭代器的使用雜談

    Python中的迭代器意義不僅是在iter函數(shù)上的運(yùn)用,更是一種處理可迭代對(duì)象的迭代器模式,這里我們來簡單聊聊Python中Iterator迭代器的使用雜談:
    2016-06-06
  • pytorch AvgPool2d函數(shù)使用詳解

    pytorch AvgPool2d函數(shù)使用詳解

    今天小編就為大家分享一篇pytorch AvgPool2d函數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python?Django源碼運(yùn)行過程解析

    Python?Django源碼運(yùn)行過程解析

    這篇文章主要介紹了Python?Django源碼運(yùn)行過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08

最新評(píng)論