Python 流程控制:迴圈基礎,while 迴圈、for 迴圈 By 彭彭

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • 喜歡彭彭的教學影片嗎?點擊「加入」按紐取得更多會員服務哦。
    加入會員: / @cwpeng-course
    1. while 迴圈的結構與使用
    2. for 迴圈的結構與使用
    2.1 搭配 range 函式使用
    3 迴圈範例演練
    3.1 等差級數的累加計算 1+2+3+....+10
    更多學習資訊,
    請到彭彭的課程網站:training.pada-...

ความคิดเห็น • 501

  • @葉培民
    @葉培民 3 ปีที่แล้ว +17

    謝謝 彭彭老師!! 現在自學python 一直對sum code 有疑惑 您的影片 整個讓我了解清楚了!!!! 超感謝!!! 謝謝你讓我在自學路上 減輕困難!! 我會繼續努力!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      加油哦,看到你的心路分享我覺得很棒 :) 我也會一起努力的 !

    • @林泓諺-l4l
      @林泓諺-l4l 6 หลายเดือนก่อน

      彭彭老師是不是很值得一座諾貝爾和平獎

  • @姚字丞
    @姚字丞 2 ปีที่แล้ว +3

    作者影片的導引對新手的觀念建立很有效,簡報簡單扼要,讓學習者目光能馬上投注在大大的簡報內容上。
    謝謝作者的製作。

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว

      不會,謝謝你的回饋 :)

  • @小郑中午
    @小郑中午 4 ปีที่แล้ว +2

    非常感谢 彭彭得课程。原来大学得时候学过编程,不过早就着饭吃了。彭彭得一点点循序渐进得教程,让我这个小白又重拾信心。

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      谢谢回馈,很高兴对你有帮助 :)

  • @世事無常-v6l
    @世事無常-v6l 4 ปีที่แล้ว +7

    看了很多留言都說老師的教學淺顯易懂 像我這樣的新手能遇上大師真的太有榮幸了 我會繼續練習 往更深的程式知識邁進😃

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +1

      哈哈哈,謝謝你的回饋哪 :) 加油加油 ~~~~

  • @MRniceWinner
    @MRniceWinner 4 ปีที่แล้ว +6

    老師想問題外話
    無限迴圈跑的速度
    是取決於電腦效能然後用最高速度運行嘛?
    看老師程式大概是每秒列印1萬個數值
    順帶一提看其他人留言中間突然覺得sum變難
    是因為老師把print(sum)寫到了"""外面"""
    11:37老師有說大家要注意這個縮排喔
    呼應影片開頭也有說while在布林值true以前都不會出來那也就不會把print(sum)印出來
    覺得疑惑的人建議可以把print(sum)放到裡面
    就會跑出
    1
    3
    6
    10
    15
    21
    28
    36
    45
    55(註:這時候n布林值到達10所以跳出這組while,如果你把print(sum)寫外面那就會像影片一樣印出55)
    就可以看到每次的計算過程

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      對哦,取決於電腦效能和當前的運作狀況,以最快速度運行。也謝謝你的分享,並協助提醒大家,相信對大家都很有幫助 :)

  • @oM-zf6jn
    @oM-zf6jn 4 ปีที่แล้ว +9

    謝謝老師的無私分享~
    如果每堂課最後都有出練習題就更好了XDDDD

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +5

      謝謝你的回饋和建議,不過每堂課出練習這事大概有點困難 XDDD

  • @這一群三國咖
    @這一群三國咖 5 ปีที่แล้ว +22

    n=1
    sum=0
    while n

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว +1

      沒問題哦,很棒的分析 :)

  • @土牛哥
    @土牛哥 4 ปีที่แล้ว +2

    讲得真的很不错,说实在的,我是完全从零开始学,都能大致弄明白,当然有的地方可能当时不太清楚,但是下来仔细想想也还能弄清楚 。谢谢老师!

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      谢谢你的回馈,很高兴对你有帮助 :)

  • @莊伶萱
    @莊伶萱 10 หลายเดือนก่อน

    感謝老師,自學python的路上有您真好!

    • @吳冠霖-y1z
      @吳冠霖-y1z 10 หลายเดือนก่อน +1

      我也是欸在學校聽還是有點不懂

    • @cwpeng-course
      @cwpeng-course  10 หลายเดือนก่อน

      謝謝回饋,一起加油嘍 :)

  • @mozent
    @mozent 6 ปีที่แล้ว +25

    教學的非常有品質 讚!

  • @ednaho5536
    @ednaho5536 6 ปีที่แล้ว +3

    感謝彭彭老師的無私教學🙏🏻🙏🏻

  • @15gtu43edd
    @15gtu43edd 4 ปีที่แล้ว +3

    謝謝老師清楚的教學!好喜歡這種短短的教學影片

  • @ashalon8012
    @ashalon8012 4 ปีที่แล้ว

    非常感恩,這教學超級詳細的,每次卡在這就想放棄,還好有老師解答。

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      很高興對你有幫助呦 ~~~~

  • @katykaty9410
    @katykaty9410 ปีที่แล้ว +2

    感謝老師幫助我考試🤓

  • @syuanboyo2575
    @syuanboyo2575 5 ปีที่แล้ว +3

    謝謝老師,這部影片對我幫助很大。

  • @jiahung7281
    @jiahung7281 ปีที่แล้ว +9

    00:00介紹
    while迴圈:
    00:16基本語法
    while 布林值:
    ▏ 若布林值為True,執行命令
    ▏ 回到上方,做下一次的迴圈判斷
    01:51程式示範
    n=1
    while n

  • @leestella3336
    @leestella3336 2 ปีที่แล้ว +1

    感謝你~講得非常清楚~初學者都可以輕鬆學習

  • @520taiwan
    @520taiwan 5 ปีที่แล้ว +9

    請問彭彭老師
    一開始的sum=0 是指 有一個SUM變數=0的意思嘛!?
    還是指 SUM從0開始加?
    而迴圈裏面
    sum=sum+n 我懂N=0.1.2.3.4.5.....
    者裡面的SUM 又是甚麼意思呢!?
    搞得我好混亂啊!?
    先感謝老師的解答

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว +15

      去除實際的情境,只談語法。sum=0 是指有一個 sum 變數,資料是 0。
      把實際的情境加進來,為什麼要把 sum 的資料設定成 0,因為要讓他從 0 開始累加。
      所以兩種說法都沒問題,只是有沒有把實際的情境講出來。
      意思是把 sum 變數中的資料拿出來,加上 n 變數中的資料,再覆蓋回 sum 變數裡面。
      你可以回頭複習一下關於資料和變數的操作細節,應該會有點幫助 :)

    • @520taiwan
      @520taiwan 5 ปีที่แล้ว

      @@cwpeng-course 謝謝老師 :) 真的感謝 我懂了

  • @lily-f3n2i
    @lily-f3n2i 5 หลายเดือนก่อน +1

    謝謝老師,獲益良多

    • @cwpeng-course
      @cwpeng-course  2 หลายเดือนก่อน

      不客氣,謝謝回饋 :)

  • @juliajulia3334
    @juliajulia3334 2 ปีที่แล้ว

    抱歉四年後的現在才來問問題,因為最近才開始學寫程式~發現這個很詳細的好頻道真的是太感激了~
    這邊想請教,如果把sum = sum + n 和 n += 1順序交換,變成:
    n += 1
    sum = sum + n的話,
    結果會變成65,因為我不懂為什麼,所以用最笨的方式一條一條列出來將數值代入,為節省時間,我把程式改為while n

    • @baga487
      @baga487 2 ปีที่แล้ว

      應該是因為程式語言是一行一行執行的
      在第五步時while迴圈已經先判斷n是否大於等於5,而因為n剛好為5所以再繼續執行n += 1的步驟及後續sum = sum + n,所以會導致最後的sum = 20

    • @juliajulia3334
      @juliajulia3334 2 ปีที่แล้ว

      @@baga487 但是第五步 n += 1的時候已經是 6 = 5+1了耶,不是應該以運算後的sum(6)為準嗎?所以在這個部分n=6,大於5,不是在這邊就會跳出迴圈嗎? sum=20的話便是帶入了n=6
      不過謝謝你回答~~~本來以為好多年前的影片可能不會有人理我~謝謝你~

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว

      感謝 @ting wei 的說明 :)
      回圈內的程式要執行完畢,回到迴圈上方重新判斷,才有機會跳出去。

    • @juliajulia3334
      @juliajulia3334 2 ปีที่แล้ว +2

      謝謝老師,謝謝@ting wei ❤️

  • @a5258832
    @a5258832 4 ปีที่แล้ว +1

    自學者在此感恩彭彭老師

  • @kama5544
    @kama5544 5 ปีที่แล้ว +1

    概念講的很詳細,尤其資料怎麼跑怎麼給的觀念都有提到.幫助很大,謝謝彭老師!

  • @鄭坤-v1x
    @鄭坤-v1x 5 ปีที่แล้ว

    感謝彭彭老師的教學.........非常 清晰 明白

  • @李督禮
    @李督禮 4 ปีที่แล้ว +1

    感謝老師! 每天都多學一點!

  • @山田林-f5b
    @山田林-f5b 6 หลายเดือนก่อน

    程式範例
    n=1
    while n

  • @ddhe4344
    @ddhe4344 6 ปีที่แล้ว +1

    深入浅出,恰到好处。感谢!!

  • @amychiu8807
    @amychiu8807 5 ปีที่แล้ว +2

    # while 迴圈
    # 無窮迴圈(不建議) 直接寫一個布林值
    '''
    n=1
    while True:
    print(n)
    n+=1
    '''
    # 1+2+3+...+10 等差級數加法
    # 注意縮排!迴圈只在縮排裡面打轉
    n=1
    sum=0 # 紀錄累加的結果
    while n

  • @LostAngel175
    @LostAngel175 3 ปีที่แล้ว

    謝謝彭彭老師優質教學

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      不客氣哦,謝謝你的回饋 :)

  • @easonpeng5229
    @easonpeng5229 6 ปีที่แล้ว +2

    對於我這個新手,非常好上手
    很有幫助

    • @easonpeng5229
      @easonpeng5229 6 ปีที่แล้ว

      while n

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว +2

      試試看以下程式碼,把數字一個一個接到列表後方:
      k=[]
      n=0
      while n

  • @chaka8645
    @chaka8645 3 หลายเดือนก่อน +1

    for x in ["升職","加薪","當上總經理","出任CEO","迎娶白富美","走向人生巔峰"]:
    print("認真工作",x)
    好玩XD

  • @asonE-df9nh
    @asonE-df9nh ปีที่แล้ว

    首先謝謝老師講解讓新手簡單了解上手,想請老師講解while 迴圈裡面有while的例題,還有for裡面有for的例題,
    例如:九九乘法表與三角形~倒三角形~菱形的解題
    老人新手查網路上的答案還是不是很明白內迴圈的解釋
    希望老師可以出一個影片解析這些題型,先謝謝老師了

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว +1

      謝謝你的回饋和建議,我會在之後的教學中多做這方面的說明 :)

    • @asonE-df9nh
      @asonE-df9nh ปีที่แล้ว

      @@cwpeng-course 感謝老師百忙之中抽空回答,希望老師做一專題,專門出題讓大家練習,也解惑題目答案或者思考方向,就算要訂閱付費也沒關係!希望老師能每天出1~2題讓大家跟著學習進步!先謝謝老師!

  • @江蘭君-f5u
    @江蘭君-f5u 6 ปีที่แล้ว +3

    老師您好:
    我不太懂在while迴圈底下
    sum=sum+n
    n+=1
    這樣為什麼可以累加?
    如果可以的話能告訴我這一串到底在幹嘛嗎QQ始終想不出來QQ
    total=n=0
    while(n

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว +24

      一行指令一行指令按照流程去想,初學的話可以寫出來,但不要跳著想:
      n 一開始是 0,total 也是 0,接著進入迴圈。
      第一圈:n < 10 是 True,執行迴圈中第一行 n+=1,n 變成 1。執行第二行,把 1 加入 total 裡面。
      第二圈:n < 10 是 True,執行迴圈中第一行 n+=1,n 變成 2。執行第二行,把 2 加入 total 裡面。
      接著第三圈 .... 第四圈 .... 一直到第十圈為止 (n < 10 變 False)
      最後就會把 1+2+...+10 都加進 total 裡面,完成運算。

  • @Chenlin1997
    @Chenlin1997 4 ปีที่แล้ว

    謝謝老師的無私分享

  • @王威智-v4o
    @王威智-v4o 4 ปีที่แล้ว +7

    可以一次選取要註解的範圍,然後按ctrl+?,就會全部註解你選取的範圍了

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +1

      感謝你的分享哦 :)

    • @joylin2126
      @joylin2126 3 ปีที่แล้ว

      感謝分享😊

    • @JerryX9527
      @JerryX9527 2 ปีที่แล้ว

      Mac是"command+?"

  • @黃俊仁-q8q
    @黃俊仁-q8q 6 หลายเดือนก่อน +2

    謝謝🙏

  • @zzz-bv4er
    @zzz-bv4er ปีที่แล้ว

    老師教的好清楚

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว

      謝謝,希望對你有幫助哦 :)

  • @fintechchao1345
    @fintechchao1345 3 ปีที่แล้ว

    幫助很大 謝謝老師

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      不會呦,很高興對你有幫助 :)

  • @amyhsiao9468
    @amyhsiao9468 3 ปีที่แล้ว

    講解得很清楚!!!

  • @天空之城-z3v
    @天空之城-z3v 3 ปีที่แล้ว +4

    老師您好:
    想請問課程上舉例的while
    當print變成內部縮排的話,該怎麼去理解這段程式的意思呢?
    是否變成:每個a都加一後,都要再印出上一個迴圈留下的sum,然後print出每一次的結果嗎?
    另外,如何知道什麼情況下print需要縮牌或不需要呢?
    謝謝老師解答

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +9

      print 縮排,意思就是放在迴圈裡面,每一圈都會印出東西。不縮排就是在外面,會等迴圈都跑完了才印出東西 ~

    • @天空之城-z3v
      @天空之城-z3v 3 ปีที่แล้ว +2

      彭彭的課程 謝謝老師的解答 很清楚~

  • @charlieed6264
    @charlieed6264 3 ปีที่แล้ว +1

    2021/05/23
    # while 迴圈
    # 1+2+3+...+10
    n=1
    sum = 0 #用來記錄累加的結果
    while n

  • @hsinnanlai6969
    @hsinnanlai6969 4 ปีที่แล้ว +3

    彭彭老師您好:
    學list-tuple.py列表的時候有提到 [0:2] 表示列表的資料包含數字1,2不包含第三是用:符號, 為什麼range的是(5,10)用逗號呢?

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +2

      他們是不同的語法,沒有關聯性,所以只是個規矩。
      [0:2] 是取得列表中的一部分,range(5,10) 是後面接著會提到的函式中的參數 ~

    • @hsinnanlai6969
      @hsinnanlai6969 4 ปีที่แล้ว +1

      @@cwpeng-course 謝謝老師解答

  • @vic9628
    @vic9628 2 ปีที่แล้ว

    淺顯易懂清楚,教學內容很棒,希望有Django的教學,我一定會加入會員!

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว

      謝謝回饋,好的,也謝謝你的建議 :)

  • @ericchou5142
    @ericchou5142 5 ปีที่แล้ว

    謝謝老師,真的感謝您

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว

      不會呦,謝謝你的回饋 :)

  • @諾恩
    @諾恩 6 ปีที่แล้ว +5

    我哭了!!!迴圈卡好久,聽到這影片就懂了QQ

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว +5

      太好惹,這樣我覺得很棒 :)

  • @leo7392119
    @leo7392119 2 ปีที่แล้ว +1

    a=[ ]
    while True:
    print("請輸入資料")
    b=input()
    a=a+[b]
    print("完成請按1")
    c=input()
    if c=='1':
    break
    print(a)
    用While迴圈控制我要加多少元素進去list

  • @janethuang8838
    @janethuang8838 2 ปีที่แล้ว

    超級謝謝老師!!

  • @aapplefish
    @aapplefish 4 ปีที่แล้ว +13

    while 布林值:
    若布林值為True, 執行命令
    回到上方,做下一次的回圈判斷
    # 直到布林值為false才會離開迴圈
    n = 1
    while n < 5:
    print("變數n的資料是:", n)
    n+=1
    for 變數名稱 in 列表或字串:
    將列表中的項目或字串中的字元
    逐一取出、逐一處理
    for x in [4,1,2]:
    print("逐一取得列表中的資料", x)
    for c in "Hello":
    print("逐一取得字串中的字元", c)
    # 製造出連續數字的列表
    for 變數名稱 in range(3):
    相當於
    for 變數名稱 in [0,1,2]:
    # 包含開頭不包含結束
    for 變數名稱 in range(3,6):
    相當於
    for 變數名稱 in [3,4,5]:
    # while迴圈
    # 這個不要執行,是無限迴圈,電腦會當機=..=
    n = 1
    while True:
    print(n)
    n+=1
    n = 1
    while n>> 1
    >>> 2
    >>> 3
    # 1+2+3+...+10
    n = 1
    sum = 0
    while n >> 3
    >>> 5
    >>> 1
    for x in "Hello":
    print(x)
    >>> H
    >>> e
    >>> l
    >>> l
    >>> o
    for x in range(5):
    print(x)
    >>> 0
    >>> 1
    >>> 2
    >>> 3
    >>> 4
    for x in range(5,10):
    print(x)
    >>> 5
    >>> 6
    >>> 7
    >>> 8
    >>> 9
    # 1+2+3...+10
    for x in range(1,11):
    sum = sum + x
    print(sum)

  • @chaka8645
    @chaka8645 3 หลายเดือนก่อน +1

    8:58 老師的主機開始燒了

    • @cwpeng-course
      @cwpeng-course  2 หลายเดือนก่อน

      哇,好仔細!

  • @easonyang3105
    @easonyang3105 5 ปีที่แล้ว +2

    您好,請問為什麼要寫sum=0?
    這邊的sum應該只是一個變數(跟x有點類似),跟excel中"sum代表公式: 加總"無關吧

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว +10

      跟 excel 中的無關。
      我們會先把這個變數中的資料設定成 0,才能夠繼續累加。如果沒有設定,資料會是 undefined,做累加時會出錯。

  • @Xiang00409
    @Xiang00409 3 ปีที่แล้ว

    老师,如果把第四第五行倒换位置,答案为什么会不一样呢?上面的是65,底下的是55
    n = 1
    sum=0
    while n

    • @huangg09
      @huangg09 3 ปีที่แล้ว

      上面的運算,是先將n+1後才進行加總,而下面的運算是先加總再n+1。
      拆解來看:
      n一樣會從0跑到10,不過上面的n跑到10後會先+1再加總,而下面的則是直接加總在+1,然而+1後就超過10了因此不會再跑一次迴圈。
      上:
      2+3+4+5+6+7+8+9+10+11 = 65
      下:
      1+2+3+4+5+6+7+8+9+10 = 55

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      感謝 @黃宣宸 的說明,很清楚 :)

    • @Xiang00409
      @Xiang00409 3 ปีที่แล้ว +1

      owhh,谢谢讲解(^v^)

    • @huangg09
      @huangg09 3 ปีที่แล้ว

      @@cwpeng-course 謝謝老師,我剛開始學習python,希望未來可以朝數據分析的路上走,在解答問題的同時能讓我更加知道自己是否已經學會。
      謝謝老師拍攝的影片,教學很清楚,對我幫助很大

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      @@huangg09 加油嘍 :)

  • @wuhaohello2373
    @wuhaohello2373 5 ปีที่แล้ว

    通俗易懂,支持

  • @kennyhsu9451
    @kennyhsu9451 4 ปีที่แล้ว +11

    其實我自己也寫了一個無窮迴圈
    但不是直接輸入「True」
    我是寫...
    n=1
    while n

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +2

      這確實也是無窮迴圈沒錯 :)

    • @YITZULIU-w3c
      @YITZULIU-w3c 3 ปีที่แล้ว

      @@cwpeng-course hi老師您好,我也有一樣的問題,請問為什麼這是一個無窮迴圈
      最後面的n+=1,在第三堂課敘述的意思不是應該是將n=n+1,為什麼可以限制住,謝謝

    • @48288712
      @48288712 3 ปีที่แล้ว

      @@YITZULIU-w3c 我覺得是因為n=n+1是將n這個資料更新為+1後的結果,再把新的n放回迴圈裡面計算,在獲得一個新的n,直到n這個數字的大小不滿足

  • @吳丞岳
    @吳丞岳 2 ปีที่แล้ว

    彭彭老師您好,最近看您的影片自學,受益良多。對影片5:52的範例有個小問題,for 變數 in range(3)相當於for 變數 in [0,1,2],我試著輸入for 變數 in (0,1,2)也可以順利得到一樣的結果。老師在第二堂課有提到他們分別是可動列表(List)與固定列表(Tuple),想請問在這裡是可通用的嗎,還是意義上有所不同?

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว +1

      雖然 List 和 Tuple 有細節的差異,但在 for 迴圈這裡是可通用的。

  • @annhsu6918
    @annhsu6918 3 ปีที่แล้ว +1

    老師您好 可否請問若寫成 for x in range(1,11):
    x += x
    會變成 2 4 6 8 10 12 14 16 18 20 請問是因為甚麼原因呢?

    • @robertlee5734
      @robertlee5734 3 ปีที่แล้ว +1

      應該是因為
      x += x 是 x=x+x的意思
      x in range(1,11) 使x為[1,2,3,....,10]的列表
      因此輸出會變成
      1+1,2+2,3+3,....,10+10
      =2 4 6 8 10 ... 20
      by從第一部"Python 入門教學課程"影片開始看的me
      感謝老師!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +2

      感謝 @Robert Lee 的說明,非常清楚 :)

  • @陳佳良-k3o
    @陳佳良-k3o 3 ปีที่แล้ว +1

    你好
    i=1
    while i

    • @Duck-f4s
      @Duck-f4s 3 ปีที่แล้ว

      你好,因為print(i)在程式的最下方,您的條件是

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      感謝 @王帷守 的說明,非常清楚 :)

  • @藍品旭
    @藍品旭 4 ปีที่แล้ว +1

    n=1
    while True:
    print(n)
    n+=1
    老師為何我跟妳一樣的程式碼,你一下子就跑到10幾萬,我卻還在幾千??
    是電腦硬體的關係??
    我的是i7-8565U 記憶體8G不夠快?
    很感謝老師的教導,讓我聽得好清楚,也期待老師能有其他影片,,
    我就讀靜宜大學資料科學暨大數據分析與應用學系,程式學得不少(R python Java )希望老師可以推出其他影片救救我,感謝

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      應該是可以相當的快,不是電腦硬體的問題,或許只是顯示沒有跟上而已。
      謝謝你的回饋,很高興對你有幫助,我會盡量推出更多教學影片 :)

  • @laihsinhui
    @laihsinhui 4 ปีที่แล้ว +1

    老師您好,在這個程式中,為什麼print(n) 要在n+=1前一行,而兩行對調為什麼會印出不同結果?
    n=1
    while n

    • @kill13790
      @kill13790 4 ปีที่แล้ว +1

      若是按照你的程式碼會得出1,2,3,4,是因為先print出n才做n+1,而不是老師原本寫的n+1完再print出n。

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      感謝 @阿飛 的回應,確實是如此哦,程式按照順序執行,順序不同會有些差異的 ~

  • @kokojojo0435
    @kokojojo0435 2 ปีที่แล้ว

    請問澎澎老師:
    sum=0
    for x in range(10,100):
    sum=sum+x
    x+=1
    print(sum)

    n=1
    sum=0
    for x in range(10,100):
    sum=sum+n
    n+=1
    print(sum)
    這兩題差異在哪裏,若range改為range(1,10)
    結果會一樣都是45.
    謝謝老師!

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว

      x 的值是根據 range() 決定的,使用 range(1, 10) 就和你自己初始化 n=1 並持續往上加是一樣的結果,但若使用 range(10, 100) 就不會一樣了。

  • @HuoShengChiou
    @HuoShengChiou 5 ปีที่แล้ว +3

    12:42 所以 開始執行while迴圈之後, 就不會再往上看 sum=0 的部分, 繼續由while往下走 對嗎?

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว

      是的。

    • @tinachen8663
      @tinachen8663 4 ปีที่แล้ว

      @@cwpeng-course
      老師您好,
      我想釐清一下我的想法,
      1.我認為在開始執行 while迴圈之後,還是會往上看到sum,只是這時候的sum已經變成sum+n 了
      2.我認為在開始執行for迴圈之後,就不會在往上看到sum=0
      #while 迴圈
      每執行一次while迴圈後,就會再回到前面檢視是否符合while的條件,直到不符合-->結束,離開迴圈
      #for 迴圈
      直到for裡面的範圍執行完,才會離開迴圏
      請問老師,我的邏輯正確嗎?

    • @kevin2622655
      @kevin2622655 4 ปีที่แล้ว

      @@tinachen8663 如果你while的 "往上看到sum" 是指sum=0 的話,那就不是 sum不會重複宣告sum=0

  • @我想學英文
    @我想學英文 3 ปีที่แล้ว +2

    11:35 要注意縮排 有縮排是在迴圈內部
    沒有縮排是在迴圈loop 外部!!!

  • @sunnychan9321
    @sunnychan9321 4 ปีที่แล้ว +1

    老師你好,請問 n+=1 是代表什麼意思?
    搞不懂喔 ! n+=2 運出來的很奇怪,看不出關係。
    可不可以用while來作解答?
    先感謝老師回答 !

    • @sunnychan9321
      @sunnychan9321 4 ปีที่แล้ว

      因為我用 1+2+3+...+10這個例子裡試,n+=1 得出來是55 ; n+=2得出來卻是25

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +3

      n+=1 就是把 n 的數字加一,n+=2 就是加二。
      使用 n+=2 相當於是計算 1+3+5+7+9 的結果 ~

    • @sunnychan9321
      @sunnychan9321 4 ปีที่แล้ว +1

      @@cwpeng-course 感謝老師 明白了

  • @a33531010
    @a33531010 4 ปีที่แล้ว

    彭彭老師有個問題想請教
    w=0
    for x in range(1,100):
    w=sum+x
    print(w) #就會0+0 、0+1、0+2、0+99循環結束
    print(w)
    想請問為何最後一個print(w)出來的結果是99 而不是累加的結果呢

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      按照你的程式,要寫 w=w+x 哦,才會持續累加。

  • @江平允
    @江平允 3 ปีที่แล้ว

    老師您好,想請教這行程式是要怎麼看,我看不太懂,影片也沒教,所以請您解釋一下,謝謝
    程式:
    n = 0
    for i in range(1,10001):
    for j in range(1,10001):
    n += 1
    print(n)
    答:100000000
    麻煩您了,謝謝

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      兩層迴圈,外層跑 10000 次,每次都會跑內層,內層也 10000 次,總共跑 10000*10000=100000000 次,所以就最後的結果了。

    • @江平允
      @江平允 3 ปีที่แล้ว

      @@cwpeng-course 瞭解,謝謝老師

  • @sujinbo2996
    @sujinbo2996 ปีที่แล้ว +1

    老師,我想問下如何實現在一箇循環中不換行輸出呢?
    比如1 2 3不要
    1
    2
    3這樣

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว

      print("data", end="") 這樣可以讓你的輸出不要換行。

  • @小拇指甲翻起來
    @小拇指甲翻起來 2 ปีที่แล้ว

    老師你好我想請問
    n=1
    sum=0 # 記錄累加的結果
    while n

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว +1

      你的 print(sum) 應該是有做了縮排,就會算在迴圈內部運作,每一圈都會執行。

    • @小拇指甲翻起來
      @小拇指甲翻起來 2 ปีที่แล้ว +1

      @@cwpeng-course 了解,謝謝老師,我再試試

  • @hoyk448
    @hoyk448 4 ปีที่แล้ว +1

    想問一下老師,for loop的條件只可以用於列表或者字串上嗎? 還可以在用在其他地方嗎?

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +1

      一般是用在列表和字串,再深入一點它叫做可以用在 iterable 的物件上

  • @evangel2046
    @evangel2046 5 ปีที่แล้ว +1

    謝謝老師~

  • @江源盛-h5i
    @江源盛-h5i ปีที่แล้ว

    while那邊,無窮迴圈一敲下去直接聽到風扇在哀號...莫名戳中笑點XD

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว

      原來有這麼明顯呀 XDDDD

  • @我想學英文
    @我想學英文 3 ปีที่แล้ว +1

    for x in "謝謝老師":
    print(x)

  • @Troyaa
    @Troyaa 3 ปีที่แล้ว +1

    謝謝老師的教學 但有點不懂sum變數是表示所有數字的總和嗎?

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +5

      sum 變數是我們建立的任意變數,我們心中的打算是用這個變數來記錄數字總和沒錯,但那因為我們的迴圈程序做了這件事情,並不是 sum 本身就有那個效果。

  • @junhuishen2150
    @junhuishen2150 5 ปีที่แล้ว +1

    谢谢老师

  • @邱繼賢-t8i
    @邱繼賢-t8i 4 ปีที่แล้ว

    請教一下
    直接指印出總和時為輸入
    print(sum)
    可是前面加上字串就要變成
    print('1+2+...+10=',sum) #sum 的前面要加逗號
    還有我自己試了另一種,前後都有字串的,就要這樣
    print('1+2+...+10=',sum,'as the answer') #sum 的前後都要加逗號
    可以稍微解釋一下邏輯嗎
    謝謝

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +1

      print() 是一個函式,print() 函式可以放入很多參數,參數之間用逗號隔開。
      所以可以放兩個參數,或三個參數,都是可以接受的。
      你可以往後看看關於函式的基本教學,對於理解這些程式會有幫助 :)

  • @iamnate791031
    @iamnate791031 4 ปีที่แล้ว

    老師您好,有個問題想請教您:
    第一:
    n=1
    while True:
    print(n)
    n+=1
    在這個程式碼裡面,true是什麼意思?
    我的理解是true=正確,但到底是什麼正確,畢竟前面沒有設像是n

    • @jimhung2752
      @jimhung2752 4 ปีที่แล้ว

      while True的意思是不管怎麼樣都要讓程式進到while迴圈中,沒有甚麼條件;兩個==是程式中判斷左右是不是相等的,如果a和b相等,a==b就是True;一個=是把左邊變成和右邊一樣

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      感謝 @章景洪 的回覆,差不多就是這樣哦 :)

    • @iamnate791031
      @iamnate791031 4 ปีที่แล้ว

      @@jimhung2752 感謝回覆

  • @凜凜
    @凜凜 6 ปีที่แล้ว +1

    您好,問個比較怪的問題 sum=0必須打在for迴圈前面才會是1~10的加總嗎? 如果把sum=0 打在sum=sum+x的上面 為何跑出結果會是10? (這樣寫是不是沒有意義? 自己亂試,但想不懂,麻煩解答 謝謝^^)

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว +2

      寫在 for 迴圈前面,只在進入迴圈前,執行一次,在一開始的時候把 sum 的資料設定為 0。
      寫在 for 迴圈的裡面,sum=sum+x 的上面,迴圈每次在轉的時候,都會執行,每次都重新把資料歸 0,最後只記錄到最後一個加上去的 10。

    • @凜凜
      @凜凜 6 ปีที่แล้ว

      為什麼最後一個不會歸零?

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว

      後面會再執行 sum=sum+x,就加 10 上去嘍。

    • @凜凜
      @凜凜 6 ปีที่แล้ว

      就是說最後一個10 不會再回傳到迴圈裡 所以不會歸零的意思嗎?

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว

      是哦 ~~

  • @羅世承
    @羅世承 4 ปีที่แล้ว

    老師我想做一個輸入數字(後以a代替)會讓他取0~a的偶數做加起來 像輸5是2+4=6 我的程式如下
    a=int(input(‘a=‘))
    sum=0
    For b in range(a+1)
    while b%2==0:
    sum+=b
    print(sum)
    執行後 會出現a=然後輸入完就沒下文了
    求解 謝謝

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      for 裡面那個要改用 if,你用 while 會導致程式跑不出迴圈哦 ~

  • @yesourle
    @yesourle 4 ปีที่แล้ว +1

    不好意思,先感謝彭彭老師教學辛苦。請問range()你說是指方法,那它算不算是函數。

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +2

      不會呦,謝謝你 :)
      算哦,他是一個函式沒錯 ~ 方法可能是我一時沒仔細注意用詞,定義上應該是一個函式 ~

    • @yesourle
      @yesourle 4 ปีที่แล้ว +1

      彭彭的課程 感謝您,因為自己也有請教其他人,突然困惑。只要是有刮號的應感都算函數

  • @stevenchien1082
    @stevenchien1082 4 ปีที่แล้ว +1

    老師 我寫了一個東西
    for x in "Hello":
    print(x[0:4])
    我以為會印出
    H
    e
    l
    l
    結果根本沒變 想問為什麼呢?

    • @蔡汶芸-m6y
      @蔡汶芸-m6y 4 ปีที่แล้ว

      因為他是從0開始算字數 H(0) e(1) l(2) l(3) o(4) 所以還是一樣印出
      H
      e
      l
      l
      o

    • @stevenchien1082
      @stevenchien1082 4 ปีที่แล้ว

      @@蔡汶芸-m6y 但不是不包含結尾嗎 而且改成0:3或0:2結果都是一樣的

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      迴圈會把每個字元抓出來,每次都只印一個字元。
      如果是你提的那個想法,程式可能像這樣:
      test="Hello"
      print(test[0:4])
      就不需要迴圈了

    • @stevenchien1082
      @stevenchien1082 4 ปีที่แล้ว +1

      @@cwpeng-course 謝謝老師!

  • @MarcusKwok-j1w
    @MarcusKwok-j1w 3 ปีที่แล้ว

    老師好,有一個關於LOOP的問題想請教一下,CODE如下:
    x = 1
    while x

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      簡單來說,Python 的 Global、Local 只看函式這個結構 ( Function Scope ),迴圈不會產生獨立的名稱空間,所以在迴圈裡面其實就是直接使用 Global 的變數了。

    • @MarcusKwok-j1w
      @MarcusKwok-j1w 3 ปีที่แล้ว +1

      感謝老師!

  • @jian-zhenwu6553
    @jian-zhenwu6553 5 ปีที่แล้ว

    老師你好請問一下
    我有一個for迴圈是錯誤的
    for x in range(2,-1)
    print(x)
    這個x印不出來
    目前查到range(start,stop,step)
    上面的range(2,-1)=range(2,-1,1)也可以寫這樣,step預設為1
    我看help上寫range(i, j) 產生 i, i+1, i+2, ... j-1
    照上面的解釋,上面的程式應該會印出2
    為什麼會印不出來
    還是因為迴圈條件不成立
    所以這個2也不會印出來
    這個程式碼原本是印出2,1,0
    我只是拿掉step=-1時想到這個問題

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว +1

      range(2,-1) 會得到一個空的列表,可以在程式中寫 print(list(range(2,-1))) 試試看。
      因為是空的列表所以迴圈就不會執行。
      說明上不一定寫得非常仔細,我們還是以程式實際運作的結果為主。

  • @youtubefatbe9982
    @youtubefatbe9982 3 ปีที่แล้ว

    彭彭老師你好,剛看過了你教For Loop 了。
    想問一下所以for 後面的是沒有意思嗎?
    我剛試了把"X" 改成 "ab"
    一樣可以跑,所以在for 後面,我放什麼都可以?

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      對,那只是一個名稱,只要你 for 裡面的程式持續沿用就可以 ~

  • @jean20157
    @jean20157 4 ปีที่แล้ว +2

    請問老師之後有機會開台大假日的C語言課程嗎? 非常喜歡老師的教學模式,也好想給您教C喔~~

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      謝謝你哪,不過應該是不太容易呢,時間上不好安排 @@a

  • @wilsonfeng333
    @wilsonfeng333 4 ปีที่แล้ว

    彭彭老师您好,请教一下以下问题:
    sum=0
    for x in range(1,11):
    sum=sum+x
    print(sum)
    与下面程式不同的地方是print的缩进;
    sum=0
    for x in range(1,11):
    sum=sum+x
    print(sum)
    但第一个程式出来的结果是:
    1
    3
    6
    10
    15
    21
    28
    36
    45
    55
    请问这是为什么?

    • @xiaoxiao4673
      @xiaoxiao4673 4 ปีที่แล้ว +1

      第一个程式是在FOR的回环里,所以+1+2....+10的结果全部显示出来了.第二个打印结果是回环执行完毕后只显示最后结果.

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      感谢 @xiao xiao 的回应 :)

  • @kentisking123
    @kentisking123 3 ปีที่แล้ว

    感謝彭彭老師,也向老師請教
    程式碼中sum=0是要告訴電腦sum是新變數一開始等於0?
    但sum本身不是對於電腦來說就是總和,為什麼一開始還要告訴他sum=0,感謝

    • @jacklee5214
      @jacklee5214 3 ปีที่แล้ว

      可以看一下留言喔,有蠻多相關討論的

    • @kentisking123
      @kentisking123 3 ปีที่แล้ว

      @@jacklee5214 感謝已解惑!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      感謝 @Jack Lee 提醒大家 :)

  • @taiwanher
    @taiwanher 6 ปีที่แล้ว

    好喜歡!

  • @泱苗千翔
    @泱苗千翔 4 ปีที่แล้ว +21

    感覺從迴圈這部分開始變難了

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +5

      是哦,第一次學程式的話,蠻多人會卡在迴圈這裡的 ~ 多跟著反覆練習,多思考多實驗會有幫助的 ~

  • @TheWinghochui
    @TheWinghochui 4 ปีที่แล้ว

    Thanks for your sharing!

  • @mandywoo1266
    @mandywoo1266 5 ปีที่แล้ว

    彭彭老師,您好,我想請問下:
    n=0
    for x in [0,1,2,3]:
    if x%2==0:
    continue
    print(x)
    n+=1
    print("the last n is: ", n)
    為什麼這個出來的結果是:the last n is: 2
    邏輯感覺自己想的有點亂

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว

      0 1 2 3 四個數字中,有兩個數字會被 2 整除,執行 continue 跳過後面的 n+=1。
      所以最後 n 只加了兩次,結果印出來是 2

    • @mandywoo1266
      @mandywoo1266 5 ปีที่แล้ว

      @@cwpeng-course 可以再問下,他為什麼沒有執行print(x)呢

    • @t7788621
      @t7788621 5 ปีที่แล้ว

      @@mandywoo1266 應該是因為print(x)屬於if x%2==0為True時,所要執行的結果,但因執行continue,所以程式碼print(x)就被跳過了。
      如果print(x)少一個縮排就會執行了

    • @mandywoo1266
      @mandywoo1266 5 ปีที่แล้ว

      @@t7788621 感謝感謝

  • @藍品旭
    @藍品旭 4 ปีที่แล้ว

    老師另外在問,,R軟體老師有提到雙層for迴圈,python也有嗎?
    老師也有提到向量矩陣陣列的東西,在python 上呢?

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      有哦,你可以在 Python 中寫雙層甚至更多層的迴圈。
      沒有叫做向量矩陣的東西,不過可以用兩層的列表來完成一樣的結構。

  • @harryxiao5586
    @harryxiao5586 ปีที่แล้ว

    老師請問我在print(字串)的時候終端機可以正常顯示中文
    可是變成tuple的時候中文就會解碼錯誤
    可以怎麼解決
    試過網路上用unicode轉成其他語言也都失敗

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว

      需要你把程式碼貼上來或者是錯誤訊息,才有辦法進一步判斷哦 ~

  • @ytchen5291
    @ytchen5291 3 ปีที่แล้ว

    請問如果想要運算等差 1+3+5+7+9+11+13+15+17+19=
    用while迴圈是寫成
    n=1
    sum=0
    while n

    • @ytchen5291
      @ytchen5291 3 ปีที่แล้ว +2

      剛剛google了一下~
      有個列表的方式可以 「將等差級數列表出來」
      a=list(range(start,ent,step)
      同一個問題 1+3+5+...+19=? 欲使用 for 迴圈
      sum=0
      a=list(range(1,20,2))
      for x in a:
       sum=sum+x
      print(sum)

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      自己解決很不錯哦,讚讚 :)

  • @46587912
    @46587912 5 ปีที่แล้ว +1

    老師 請問若使用迴圈 因為現在是1+2+3+....
    能不能變成4+6+8+.....100
    這樣如何運行迴圈呢?

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว

      使用同樣的程序,但資料從 4 開始,必須小於等於 100,每次往上加 2。

    • @evemio1127
      @evemio1127 4 ปีที่แล้ว

      @@cwpeng-course
      彭彭老師您好,這個課程真的超棒的 加上大家的問題都相當有趣 如果變成從4往上+2直到100 這樣寫是否正確呢 算出的答案為2548@@
      n=4
      sum=0
      while n

  • @鄧守承
    @鄧守承 4 ปีที่แล้ว +1

    老師你好!
    在for 回圈內 如果不小心將sum=0 打入回圈內
    為什麼會print 出10呢

    • @markhuang60
      @markhuang60 3 ปีที่แล้ว

      我也有這個問題 QQ

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      等於是每次迴圈重複執行時,sum 都會先被歸 0,所以最後只記錄到最後面的數字,也就是 10

  • @涂晏雲
    @涂晏雲 6 ปีที่แล้ว

    sum=0
    for x in range(3):
    sum+=x
    print(sum)
    最後印出
    0
    1
    3
    請問老師 我要怎麼改印出來才會是[0,1,3]就是不要讓他分行顯示

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว +1

      你可以寫
      print(要印的東西, end="")
      這樣就不會分行 ~

  • @黃世堯-w5i
    @黃世堯-w5i 6 ปีที่แล้ว

    請問老師:
    在while的時候,print為何不用寫在while迴圈裡面呢?
    而在for的時候,卻要把print寫進for迴圈裡面啊?
    我自己是有試過在for迴圈時把print寫在外面,結果電腦出現"IndentationError: expected an indented block"....
    while n

    • @cwpeng-course
      @cwpeng-course  6 ปีที่แล้ว

      python 相當依賴縮排來判斷結構,若是要寫一個沒有程式碼的迴圈,必須使用 pass 指令:
      for x in "Hello":
      pass
      print(x)

  • @CcCcPatrick
    @CcCcPatrick 5 ปีที่แล้ว +1

    老師你好~我有一個問題,請問while在進行加法時實際是如何運作的?
    n=1
    sum=0
    while n

    • @cwpeng-course
      @cwpeng-course  5 ปีที่แล้ว +6

      sum 的資料會變動,所以應該是如下:
      1(sum 運算後)=0(sum 運算前)+1(n)
      n+=1
      兩次
      3(sum 運算後)=1(sum 運算前)+2(n)
      n+=1
      三次
      6(sum 運算後)=3(sum 運算前)+3(n)

    • @CcCcPatrick
      @CcCcPatrick 5 ปีที่แล้ว

      @@cwpeng-course 好的我知道了 謝謝老師!!

  • @吳家華-y3h
    @吳家華-y3h 3 ปีที่แล้ว

    老師好,請教一個問題:
    data=[1,2,3,4,5]
    x=len(data)
    for i in range(x):
    if data[i] % 2 == 0:
    print(data[i])
    測試結果符合預期將2,4 列印出來,但我想將串列中的偶數去除,只剩下奇數部分,便將for 回圈內的判斷式下加入data.pop(i)的指令,將偶數從串列中取出。但在執行時卻產生Index Error:list index out of range 的錯誤訊息。我想是將串列中的索引指標移除產生的後遺症,所以我就又在迴圈內重新計算一次data串列的長度值,下了x=len(data)的指令, 想說在符合if判斷條件下移除掉偶數後,重新給變數x新的串列長度值,應該就可以避免上述的錯誤訊息,但~~~~~~結果還是Index Error:list index out of range!!!! 天哪!!!! 怎麼會這樣呢 ? 拜託老師,可以幫我看看嗎? 我覺得這個將串列中的元素移除的動作非常重要,因為寫程式時,就是資料的讀取,寫入與刪除等動作一直在重複,我的教科書上給我的說明是利用pop指令可將串列中索引值的元素取出並刪除。但我為何在執行時卻產生錯誤訊息呢? 麻煩老師有空時幫我解惑,感謝!!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      你可以先複製一份列表,利用複製的列表來寫迴圈,刪除時用 remove(資料) 的方法來刪除原來列表中的資料,就不會影響迴圈的運作,例如:
      data=[1,2,3,4,5]
      copyData=data.copy()
      x=len(copyData)
      for i in range(x):
      if copyData[i] % 2 == 0:
      data.remove(copyData[i])
      print(data)

    • @吳家華-y3h
      @吳家華-y3h 3 ปีที่แล้ว +1

      @@cwpeng-course 謝謝老師,好奇地將你的程式碼稍稍做個變動,如下:
      data=[1,2,3,4,5]
      copyData=data.copy()
      x=len(copyData)
      for i in range(x):
      if copyData[i] % 2 == 0:
      data.remove(copyData[i])
      print("i",i)
      #data.pop(i)
      print("copydata",copyData)
      print("data",data)
      然後執行remove,和 pop 兩種指令的結果,並將 索引指標 i 也列印出來,然後發現
      兩種指令的不同之處,我發現用pop 雖然不會再產生 index out of range的錯誤訊息,但結果卻是不對的,最終程式是列印出[1,3,4] ,因為第一次刪除偶數2後,串列的長度有所變動了,所以在執行下一個偶數判斷並且刪除動作時,會將5 給刪除掉,就產生了錯誤的結果。 嗯~~~~老師的方法很有用,記起來,可以運用到別的地方。謝謝!!

  • @曾奕誠-w8g
    @曾奕誠-w8g 3 ปีที่แล้ว

    老師你好 請教一下能不能範例一個寫完程式以後可以重復執行的迴圈 就是不需要按執行鍵 按個鍵就讓她重復執行 等不想執行在跳出迴圈呢?謝謝

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      while True:
      data=input("請輸入資料")
      if data=="exit":
      break

  • @ethantsai26
    @ethantsai26 3 ปีที่แล้ว

    老師想請問播放清單有兩個入門課程,那個有加numpy的應該先看還是在這個系列後看後看

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      這個先看,之後再 NumPy ~

  • @qqrey
    @qqrey 3 ปีที่แล้ว

    q=1
    sum=0
    while q

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      print(sum) 不能往内缩哦 ~

    • @qqrey
      @qqrey 3 ปีที่แล้ว

      @@cwpeng-course 感谢老师回复,以后会注意的

  • @taviralin1475
    @taviralin1475 3 ปีที่แล้ว

    老师您好在while里面的n+=1是否指代数字之间绝对值的关系?如果累加变成1-2+3-4+5....+99这样 无论正负是否程式最后还是n+=1?谢谢!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      对哦,还是会写 n+=1,因为这个只是用来依序取得 1, 2, 3, ..., 99 的每个数字。如果要加减交错,我们会多一个判断式,视情况使用 sum=sum+n 或 sum=sum-n。

    • @taviralin1475
      @taviralin1475 3 ปีที่แล้ว +1

      @@cwpeng-course 明白了, 谢谢老师~!