首页
/
每日頭條
/
生活
/
python中的序列表示法
python中的序列表示法
更新时间:2024-11-15 12:05:37

【人生苦短,我學Python】是衆多和計算機接觸過的朋友耳熟能詳的段子,Python作為最近幾年非常火的編程語言,因為其簡潔和開源的特點,受到許許多多人的喜愛。著名房地産商潘石屹先生也在學習Python,足以可見Python的實用性和其強大的“魅力”。

python中的序列表示法(溫文默克的學習筆記Python篇)1

筆者自身對于Python也是十分喜愛,希望能有越來越多的朋友接觸這門語言。關于Python的學習,除了看一些課程視頻和專業書籍外,筆者認為最重要的就是練習,無論是大的項目還是小的例子,隻有在練習中不斷進行嘗試才能找到自己的“盲區”。

接下來,筆者開始今天的學習筆記分享——Collatz 序列

python中的序列表示法(溫文默克的學習筆記Python篇)2

Collatz 序列(奇偶歸一猜想)又稱為3n+1猜想、冰雹猜想,是指對于每一個正整數,如果它是奇數,則對它乘3再加1,如果它是偶數,則對它除以2,反複進行上述循環,最終結果都能夠得到1。為了實現上述功能,首先要定義一個函數(筆者将其命名為collatz()),它有一個名為 number 的參數。如果參數是偶數,那麼 collatz()就打印出 number // 2,并返回該值。如果 number 是奇數,collatz()就打印并返回 3 * number 1。

def collatz(num): if num % 2==0: return num // 2 else: return 3 * num 1

然後編寫一個程序,讓用戶輸入一個整數,并不斷對這個數調用 collatz(),直到函數返回值1。而要實現這一功能要注意兩點,一是要記得用 int()函數将輸入的值轉成一個整數,否則它會是一個字符串,調用collatz()會失敗。二是要不斷調用collatz(),這時就需要用到“遞歸”了。

python中的序列表示法(溫文默克的學習筆記Python篇)3

那什麼是“遞歸”呢?簡單來說就是不斷地調用自己,舉個筆者小時候聽過的例子:從前有座山,山裡有座廟,廟裡有個老和尚,老和尚在給小和尚講故事,說從前有座山,山裡有座廟,廟裡有個老和尚,老和尚在給小和尚講故事,從前有座山... 還有從兩面相對的鏡子中看到的畫面,其實都是抽象出來的遞歸現象。

python中的序列表示法(溫文默克的學習筆記Python篇)4

不過這嚴格上來說并不能算是遞歸,因為會一直重複下去,沒有終止條件,那就稱為死循環了。遞歸需要終止條件的。利用遞歸的思想,可以實現很多功能,比如九九乘法表,斐波拉契數列……

回到本來的Collatz 序列這個例子,筆者定義了一個名為func()的函數,參數值為輸入的正整數。在這個函數裡調用collatz(),如果得出的值不是1,證明還沒到最後,将其打印出來,再使用遞歸的思想,調用自己,參數值為目前使用collatz()得出的值,反複進行,直到最後得出的值為1。

def func(i): if collatz(i) != 1: print(collatz(i)) i = collatz(i) func(i) else: print(collatz(i))

到了這一步基本的功能已經實現了,不過我們還可以在輸入操作上進行一些完善,在用戶輸入數值類型錯誤時,給予提示。這裡使用try…except語句來解決輸入錯誤問題。

while True: print("Enter number:") try: i = int(input()) func(i) break except ValueError: print("請輸入整數!!!")

本次的分享就到這裡,今天剛好是1月1日,祝大家新的一年能夠萬事順利~

pip uninstall 2019

pip install 2020

import money

from money import beauty

from money import *

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
磁鐵吸引飛沙走石
磁鐵吸引飛沙走石
很多時候一個人的運氣說來就來,時不時就會讓人欣喜若狂。一位男子他拆開了音響,發現其中有一塊磁鐵,他當時就動起了别的心思。一大塊磁鐵能讓很多小碎鐵吸附上去,萬一将其丢入人很少的河流中又會是什麼樣的情形?又或許會有意外的收獲呢。他随即将綁了線的...
2024-11-15
正則表達式小數如何匹配
正則表達式小數如何匹配
正則表達式小數如何匹配?在做項目的過程中,使用正則表達式來匹配一段文本中的特定種類字符,是比較常用的一種方式,下面是對常用的正則匹配做了一個歸納整理,接下來我們就來聊聊關于正則表達式小數如何匹配?以下内容大家不妨參考一二希望能幫到您!正則表...
2024-11-15
班尼路對比森馬
班尼路對比森馬
如今,如果問年輕人穿什麼牌子的衣服,相信很多人會想到優衣庫、Zara等快時尚品牌,其次是國内的美特斯邦威、森馬、海瀾之家等休閑服裝品牌,最後是在淘寶等各大電商平台的不知名淘品牌。選擇性可以說是非常多,特别是電商渠道,退貨很方便,年輕人又懶得...
2024-11-15
9組瑜伽體式緩解下背部疼痛
9組瑜伽體式緩解下背部疼痛
梨狀肌是臀部的深層肌肉,從股骨頂部(大腿大骨)延伸到身體兩側的骶骨(下背部下方和尾骨上方的三角形融合骨)。它有助于将股骨頭部固定到髋關節中,主要負責股骨的側向或外部旋轉,以及在髋關節彎曲時(将其從身體上拉離)外展同一根骨頭。值得注意的是,兩...
2024-11-15
咕咾肉簡單做法
咕咾肉簡單做法
咕咾肉簡單做法?主料:梅花肉250克、青椒半個、紅椒半個、菠蘿3片、雞蛋清2個,我來為大家科普一下關于咕咾肉簡單做法?以下内容希望對你有幫助!咕咾肉簡單做法主料:梅花肉250克、青椒半個、紅椒半個、菠蘿3片、雞蛋清2個。輔料:香油1大勺、澱...
2024-11-15
Copyright 2023-2024 - www.tftnews.com All Rights Reserved