Python 板


LINE

各位大大們好 小弟新手學python,使用參考書為[python 程式設計超入門] 目前看到While迴圈章節,並嘗試練習此函數遇到一個小問題 程式內容為 Power = 5 while(True): print('打') print('踢') print('大絕') Power = Power - 1 if (Power > 0): break 理論上當Power變成負值時,則會變成 Power > 0 為False, 那麼迴圈就會break,可是為何小弟進入了無限迴圈呢QQ? 不太懂QQ -- 當他們關掉MegaUpload的時候, 我保持沉默;我還有FileSonic。 當他們關掉FileSonic的時候, 我保持沉默;我還有FileServe。 當他們關掉FileServe的時候, 我保持沉默;我還有MediaFire。 當他們關掉MediaFire的時候, 我保持沉默;我還有BT。 當他們關掉BT伺服器的時候, 我已一無所有了。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.15.169
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1527915186.A.8AF.html
1F:推 ides13: 因為ture永遠是true 06/02 12:59
意思是 While(True) 不會因為他下列程式為False時,就會停止嗎?? ※ 編輯: TW185930 (42.72.15.169), 06/02/2018 13:01:51
2F:推 ides13: 看錯了收回。沒縮排,不確定if是否在while迴圈內。 06/02 13:02
3F:→ ides13: 不會變false只會跳出迴圈。 06/02 13:04
※ 編輯: TW185930 (42.72.15.169), 06/02/2018 13:16:40
4F:→ kobe8112: 你程式碼沒問題啊,雖然跟你想表達的邏輯不同, 06/02 13:24
5F:→ kobe8112: 但只會印出 打踢大絕 (中間有換行),然後就結束 06/02 13:24
6F:→ kobe8112: 建議你截圖,讓板友幫忙看一下你實際程式碼是怎麼縮排的 06/02 13:25
7F:→ kobe8112: 照你PO在這邊的程式碼,While只會進去一次就會break了 06/02 13:26
8F:→ kenduest: 啊,不是應該寫 if (Power < 0): break 06/02 13:48
我剛剛發現問題了,假如我不重新宣告Power = 5,執行兩次 同樣上述While程式碼,第一次會正常,第二次就進入無限迴圈了@@ ※ 編輯: TW185930 (42.72.15.169), 06/02/2018 13:50:23
9F:→ kenduest: 所以你沒有忠實給你的真實程式嗎? 06/02 13:52
10F:→ kobe8112: 什麼叫做「重新宣告Power = 5 」? 06/02 14:16
11F:→ kobe8112: 從你回覆的內容,我會先猜你這是誤解變數可視範圍所導致 06/02 14:16
12F:→ kobe8112: 你是不是用Jupyter notebook之類的在練習? 06/02 14:23
13F:→ MOONY135: 你的寫法跟你想要做的事情完全不一樣... 06/02 14:58
抱歉,我是使用IDLE,我真的是新手 對於程式的問題描述不是很好 我第一次執行這個程式是正常的,他可以回傳我如期的結果 如下 https://i.imgur.com/mcNumvB.jpg 但當我連續執行第二次,則進入無限迴圈,如下 https://i.imgur.com/VExBbOg.jpg ※ 編輯: TW185930 (42.72.15.169), 06/02/2018 15:20:28
14F:推 s8300355: 因爲power已經小於0了 06/02 15:24
15F:→ kobe8112: 你不用道歉啦,大家沒有任何負面的意思XD 06/02 15:25
16F:→ kobe8112: 你看你程式碼,最最開始第一次會發生什麼事? 06/02 15:25
17F:→ kobe8112: 答案:會印出 打踢大絕,Power的最終值會為1,接著因為 06/02 15:26
18F:→ kobe8112: 你寫的if條件判斷成立,因此跳出While迴圈 06/02 15:26
19F:→ TW185930: 第一次就像我想的一樣 跑一次迴圈就終止了 06/02 15:26
20F:→ kobe8112: 下面你再跑第二次時呢?一樣先印打踢大絕, 06/02 15:27
21F:→ kobe8112: 接著Power = Power -1 ,原本Power為1,減1後則為0 06/02 15:27
22F:→ kobe8112: 然後if條件會否成立? 不會吧?因此就會While無窮跑, 06/02 15:28
23F:→ kobe8112: Power每次都被-1,接著if總是不會成立 06/02 15:28
24F:→ TW185930: 可是 while (True)才會執行不是嗎? -1>0 不是False嗎 06/02 15:29
25F:→ kobe8112: While迴圈有2種方式跳出,一種是判斷條件不成立, 06/02 15:30
26F:→ kobe8112: 一種是裡面執行到break程式碼 06/02 15:30
27F:→ kobe8112: 你的程式碼來說,While的判斷式永遠為True,所以不討論 06/02 15:31
28F:→ kobe8112: 前者,直接看是否有任何地方會觸發後者 06/02 15:31
29F:→ kobe8112: 只有if裡面的條件成立,才會執行break而跳出While迴圈 06/02 15:31
30F:→ kobe8112: 你推文補充的兩件事都是對的, 06/02 15:35
31F:→ kobe8112: 你問題在「你想表達的邏輯」跟「程式碼表達的邏輯」不同 06/02 15:35
32F:→ TW185930: 了解!! 感謝kobe大! 06/02 15:36
33F:→ kobe8112: 不會,有幫到就好XD 06/02 15:42
34F:推 LaoDa581: 你以後遇到這種問題要debug的話,建議在迴圈中把power 06/03 00:25
35F:→ LaoDa581: 值印出來,就能解惑了 06/03 00:25
36F:推 jp956956: 不是因為if成立才會執行break嗎 06/03 01:07
37F:→ jp956956: 可是跑到變負的就不成立不會執行break 06/03 01:07
謝謝大家 ! ※ 編輯: TW185930 (42.72.15.169), 06/03/2018 10:45:45







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP