溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用Python實(shí)現(xiàn)一個(gè)五人分魚功能

發(fā)布時(shí)間:2021-01-05 15:05:40 來(lái)源:億速云 閱讀:376 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)利用Python實(shí)現(xiàn)一個(gè)五人分魚功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

A、B、C、D、E 五人在某天夜里合伙去捕魚,到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺(jué)。

日上三桿,A 第一個(gè)醒來(lái),他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。

B 第二個(gè)醒來(lái),也將魚分為五份,把多余的一條魚扔掉拿走自己的一份。 。

C、D、E依次醒來(lái),也按同樣的方法拿魚。

問(wèn)他們至少捕了多少條魚?

def main():
  fish = 1
  while True:
    total, enough = fish, True
    for _ in range(5):
      if (total - 1) % 5 == 0:
        total = (total - 1) // 5 * 4
      else:
        enough = False
        break
    if enough:
      print(f'總共有{fish}條魚')
      break
    fish += 1


if __name__ == '__main__':
  main()

實(shí)例擴(kuò)展:

#Python3 實(shí)例--Python 五人分魚
print("Python3 實(shí)例--Python 五人分魚")

#原則:

'''日上三桿,A 第一個(gè)醒來(lái),他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。

B 第二個(gè)醒來(lái),也將魚分為五份,把多余的一條魚扔掉拿走自己的一份。 。

C、D、E依次醒來(lái),也按同樣的方法拿魚。

問(wèn)他們臺(tái)伙至少捕了多少條魚?(x)
A:(x-1)/5
B:(x-((x-1)/5)-1)/5
C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5
D:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1)
E:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1))-1)
'''



def main():
  fish = 1
  while True:
    #默認(rèn)魚的數(shù)量是夠分的,enough = True
    total, enough = fish, True
    #循環(huán)步驟:每一個(gè)人都按照相同的原則分魚
    for _ in range(5):
      #"_"符號(hào)在循環(huán)中不會(huì)用到,起的是循環(huán)次數(shù)的作用,可以看作和i,j是等效的
      #如果正好夠5個(gè)人分,不需要扔掉一條
      if (total - 1) % 5 == 0:
        #除了第一個(gè)人,剩下的魚的總數(shù)為:(total - 1) // 5 * 4,
        # 但是此時(shí)流程還沒(méi)有走完,還未計(jì)算魚的總數(shù)
        total = (total - 1) // 5 * 4
      #如果不夠一個(gè)人分,enough = False,
      # 說(shuō)明魚的數(shù)量不是最少的,還需要每一個(gè)重復(fù)步驟上加一條,跳出循環(huán)
      else:
        enough = False
        break

    #判斷魚是不是夠分,而且魚的總數(shù)取的是最小值
    if enough:

      #若是,輸出魚的總數(shù),結(jié)束程序
      print(f'總共有{fish}條魚')
      break
    #魚的數(shù)量循環(huán)加1
    fish += 1


main()

上述就是小編為大家分享的利用Python實(shí)現(xiàn)一個(gè)五人分魚功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI