Python循環(huán)語(yǔ)句

寫(xiě)在前面

循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個(gè)功能而設(shè)置的一種程序結(jié)構(gòu)敞葛,可以看成是一個(gè)條件判斷語(yǔ)句和一個(gè)向回轉(zhuǎn)向語(yǔ)句的組合薯鳍。在我們的生信分析中循環(huán)幾乎無(wú)處不在富寿,畢竟生物體成千上萬(wàn)的基因不能讓生信工作者逐個(gè)的去計(jì)算并可視化见秽。循環(huán)也是各類編程的精髓盔然,脫離了循環(huán)衰伯,代碼將失去意義;學(xué)會(huì)了循環(huán)霞势,省出大把喝咖啡的時(shí)間~

一催植、while循環(huán)

## 最簡(jiǎn)單的示例:
i=0
while i < 10:
    i+=1
    print(f"這是第{i}次")

通過(guò)while循環(huán)求1~10的和:

i=1
mysum = 0
while i <= 10:
    mysum += i
    i += 1
    
print(f"1~10的和是:{mysum}")

通過(guò)while循環(huán)完成猜數(shù)字的程序設(shè)計(jì):

### 用while循環(huán)設(shè)置猜數(shù)字程序
# 生成一個(gè)1~100間的隨機(jī)數(shù)
import random
mynum = random.randint(1,100)
# 設(shè)置條件
mycondition = True
# 記錄次數(shù)
i = 0
# 用過(guò)while循環(huán)生成猜數(shù)字游戲
while mycondition == True:
    i += 1
    myinput = input("請(qǐng)猜一個(gè)1~100的數(shù)字:")
    if int(myinput) == mynum:
        print(f"恭喜你在第{i}次猜中了,數(shù)字是{mynum}")
        mycondition == False
    elif int(myinput) > mynum:
        print(f"很遺憾你在第{i}次沒(méi)有猜中刻帚,你的數(shù)字比答案更大潦嘶,請(qǐng)繼續(xù)輸入數(shù)字")
    elif int(myinput) < mynum:
        print(f"很遺憾你在第{i}次沒(méi)有猜中,你的數(shù)字比答案更小崇众,請(qǐng)繼續(xù)輸入數(shù)字")

通過(guò)while打印九九乘法表:

# 當(dāng)前打印到第幾行
hang = 1
while hang < 10:
    # 當(dāng)前打印到第幾列
    lie = 1
    while lie < hang:
        print(f"{lie}*{hang}={lie*hang}",end='\t')
        lie += 1
    print(f"{lie}*{hang}={lie*hang}")
    hang += 1
    

運(yùn)行效果如下:

二掂僵、for循環(huán)

1航厚、for循環(huán)基本語(yǔ)法

for循環(huán)是一種遍歷循環(huán),其基本語(yǔ)法是

for 臨時(shí)變量 in 序列類型: # 序列類型即為待處理變量/數(shù)據(jù)集
    循環(huán)滿足條件時(shí)執(zhí)行的代碼

例如:

for mychar in 'Biomamba':
    print(mychar)

則"Biomamba"中的字母會(huì)被依次打出:


利用for循環(huán)來(lái)統(tǒng)計(jì)"Biomamba"一共包含多少字符(其實(shí)有函數(shù)可以直接完成這個(gè)功能锰蓬,這里先小小的挖一個(gè)坑):

chr_numr = 0
for mychar in 'Biomamba':
    chr_numr += 1
print(f"'Biomamba'共包含{chr_numr}個(gè)字符")

運(yùn)行結(jié)果:

2幔睬、利用range語(yǔ)句調(diào)用for循環(huán)

range()語(yǔ)句用法一:

括號(hào)中只填寫(xiě)一個(gè)數(shù)字:

for temp_num in range(5):
    print(temp_num)

遍歷輸入range(5)的結(jié)果,可以看出range(5)實(shí)際上生成了0~4的這五個(gè)數(shù)字:

range()用法2:

填入兩個(gè)數(shù)字(start, end)芹扭,則生成start至end-1的數(shù)字麻顶,步長(zhǎng)為1

for temp_num in range(1,6):
    print(temp_num)

range()用法3:

填入兩個(gè)數(shù)字(start, end, step),則生成start至end-1的數(shù)字舱卡,步長(zhǎng)為3

for temp_num in range(1,10,3):
    print(temp_num)

那么辅肾,上面的while循環(huán)打印99乘法表可以改寫(xiě)為,這里寫(xiě)一個(gè)嵌套的while轮锥,大家注意縮進(jìn):

# 當(dāng)前打印到第幾行
hang = 1
for hang in range(1,10):
    # 當(dāng)前打印到第幾列
    lie = 1
    while lie < hang:
        print(f"{lie}*{hang}={lie * hang}", end='\t')
        lie += 1
    print(f"{lie}*{hang}={lie * hang}")
    hang += 1

實(shí)際運(yùn)行結(jié)果:

當(dāng)然矫钓,也可以通過(guò)兩個(gè)for循環(huán)的嵌套來(lái)完成:

for hang in range(1,10):
    for lie in range(1,hang+1):
        print(f"{lie}*{hang}={lie * hang}", end='\t')
    print("")

四行代碼就完成了目標(biāo),大家平時(shí)碼代碼的時(shí)候也可以選擇最優(yōu)雅的方式~

三舍杜、break與continue

在實(shí)際的運(yùn)行過(guò)程中新娜,因?yàn)槟承┰蛭覀兛赡懿恍枰阉械难h(huán)都運(yùn)行完畢,這時(shí)需要設(shè)定跳出條件既绩,break和continue就可以幫助我們完成跳出動(dòng)作杯活。

1、continue

continue命令可以跳出當(dāng)次循環(huán)熬词,而直接執(zhí)行下一個(gè)循環(huán)

for temp_num in range(1,5):
    print(f"這是第{temp_num}次continue前的語(yǔ)句")
    continue
    print(f"這是第{temp_num}次continue后的語(yǔ)句")

例如執(zhí)行結(jié)果中只包含continue之前的循環(huán)語(yǔ)句旁钧,且所有的循環(huán)均能執(zhí)行:

2、break

break生效時(shí)互拾,整個(gè)循環(huán)跳出

for temp_num in range(1,5):
    print(f"這是第{temp_num}次break前的語(yǔ)句")
    break
    print(f"這是第{temp_num}次break后的語(yǔ)句")

所以我們的預(yù)設(shè)語(yǔ)句只打印出了第一句

往期回顧

生信Python速查手冊(cè)

Python安裝(Windows+Linux)

Python的"Rstudio"——Pycharm

碼Python神器:jupyter notebook

一文了解Python基礎(chǔ):字面量歪今、注釋、變量颜矿、類型寄猩、運(yùn)算符

Python判斷語(yǔ)句

如何聯(lián)系我們

公眾號(hào)后臺(tái)消息更新不及時(shí),超過(guò)48h便不允許回復(fù)讀者消息骑疆,這里給大家留一下領(lǐng)取資料田篇、免費(fèi)服務(wù)器(有root權(quán)限的共享服務(wù)器,注冊(cè)即送200¥)的微信號(hào),方便各位隨時(shí)交流箍铭、提建議(科研任務(wù)繁重泊柬,回復(fù)不及時(shí)請(qǐng)見(jiàn)諒)。此外呼聲一直很高的交流群也建好了诈火,歡迎大家入群討論:永久免費(fèi)的千人生信兽赁、科研交流群
大家可以閱讀完這幾篇之后添加
給生信入門初學(xué)者的小貼士
如何搜索公眾號(hào)過(guò)往發(fā)布內(nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市刀崖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亮钦,老刑警劉巖馆截,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜂莉,死亡現(xiàn)場(chǎng)離奇詭異蜡娶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)巡语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門淮菠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人合陵,你說(shuō)我怎么就攤上這事枢赔。” “怎么了拥知?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵踏拜,是天一觀的道長(zhǎng)低剔。 經(jīng)常有香客問(wèn)我速梗,道長(zhǎng)襟齿,這世上最難降的妖魔是什么姻锁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任猜欺,我火速辦了婚禮,結(jié)果婚禮上开皿,老公的妹妹穿的比我還像新娘涧黄。我一直安慰自己赋荆,他們只是感情好笋妥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布窄潭。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪信认。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天嫁赏,我揣著相機(jī)與錄音,去河邊找鬼潦蝇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛攘乒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播则酝,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼沽讹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起爽雄,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挚瘟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乘盖,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡焰檩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侧漓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡布蔗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纵揍,到底是詐尸還是另有隱情,我是刑警寧澤泽谨,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布特漩,位于F島的核電站,受9級(jí)特大地震影響涂身,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜搓蚪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悴能。 院中可真熱鬧,春花似錦雳灾、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)团驱。三九已至空凸,卻和暖如春嚎花,著一層夾襖步出監(jiān)牢的瞬間呀洲,已是汗流浹背紊选。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工道逗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滓窍。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吏夯,于是被迫代替她去往敵國(guó)和親此蜈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子噪生,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 學(xué)習(xí)目標(biāo) 前面我們已經(jīng)初步的學(xué)習(xí)了Python的一些基礎(chǔ)知識(shí)裆赵,那么本次推送的主要目標(biāo)就是跺嗽,看懂這個(gè)笑話: 1 布爾...
    Biomamba生信基地閱讀 59評(píng)論 0 0
  • 一页藻、模塊定義 Module,是一個(gè)Python文件植兰,以.py結(jié)尾,模塊能定義函數(shù)楣导、類、變量爷辙、可執(zhí)行代碼彬坏。pytho...
    Biomamba生信基地閱讀 54評(píng)論 0 0
  • 寫(xiě)在前面 函數(shù)是組織好的膝晾、可重復(fù)使用的,用來(lái)實(shí)現(xiàn)特定功能的代碼段血当。通過(guò)函數(shù)的定義與使用能夠提高代碼的復(fù)用性幻赚、減少重...
    Biomamba生信基地閱讀 58評(píng)論 0 0
  • 寫(xiě)在前面 無(wú)論是哪種編程語(yǔ)言臊旭,搬磚的目的都是為了將處理后的數(shù)據(jù)能夠?qū)С龉┖罄m(xù)使用。Python的文件操作邏輯與R語(yǔ)...
    Biomamba生信基地閱讀 122評(píng)論 0 1
  • 寫(xiě)在前面 在任何編程語(yǔ)言中都難免會(huì)遇到異常(報(bào)錯(cuò))离熏,如何查看報(bào)錯(cuò)、理解報(bào)錯(cuò)滋戳、避免報(bào)錯(cuò)钻蔑、捕獲報(bào)錯(cuò)信息奸鸯,都是我們需要去...
    Biomamba生信基地閱讀 85評(píng)論 0 0