Python 函式參數詳解:參數預設值、名稱對應、任意長度參數 By 彭彭

  Рет қаралды 150,795

彭彭的課程

彭彭的課程

Күн бұрын

Пікірлер: 330
@yichan5
@yichan5 26 күн бұрын
現在正在看的同學報到 很感謝老師用非常潛顯易懂的方式解說觀念 🌟
@imDD8
@imDD8 4 жыл бұрын
老師教得太好了,提到過去課程上的一些名詞還會複習一下真棒!
@cwpeng-course
@cwpeng-course 4 жыл бұрын
謝謝哪 :) 希望對你有幫助就好 ~
@何容-o7c
@何容-o7c 5 жыл бұрын
#參數的預設資料 # def power(base,exp=0): # print(base**exp) # power(3,3) # power(4) #使用參數名稱對應 # def divide(n1,n2=1): # print(n1/n2) # divide(5,10) # divide(n2=10,n1=5) #無限(不定)參數資料(tuple) # def avg(*ns): # print(ns) # avg(3,4) # def avg(*ns): # sum=0 # for x in ns: # sum+=x # print(sum/len(ns)) # avg(3,4) # avg(3,4,10,55)
@cwpeng-course
@cwpeng-course 5 жыл бұрын
感謝整理 :)
@QuaQua996
@QuaQua996 2 жыл бұрын
謝謝彭彭老師的教學,讓我們非本科生受益良多! 課程中沒有提到對於平均值(無限/不定參數)input應該如何設定,上網查資料想解決自己的困惑,最終於google大神們的幫助下得出幾行指令,終於可以input了!!! def avg(*num): sum=0 for n in num: num+=n else: print(num/len(num)) x = eval(input("請輸入數字串: ")) #對str做計算,int()無法 avg(*x) (TEST) Input:12,14,16 Ans:14 Input:20,-10,15,15 Ans:10
@cwpeng-course
@cwpeng-course 2 жыл бұрын
很棒的分享哦,肯定會對大家有幫助的 :)
@Jax_Yang
@Jax_Yang Жыл бұрын
num=+n >>>> sum=+n,print(num/len(num)) >>>> print(sum/len(num)) 幫你糾錯 : )
@kentisking123
@kentisking123 3 жыл бұрын
老師教學真的是既仔細又清晰,真的是救世神啊!
@cwpeng-course
@cwpeng-course 3 жыл бұрын
謝謝哪,很高興對你有幫助 :)
@derekh4298
@derekh4298 Жыл бұрын
謝謝老師的課程 其實初學者最需要學的就是老師在課常中提到對程式高手來說非常簡單的東西 對初學者卻是搞不懂的東西 真的要一步一步來
@cwpeng-course
@cwpeng-course Жыл бұрын
謝謝你的回饋,很高興對你有幫助 :)
@user-bk3zt8sp1dfnodes
@user-bk3zt8sp1dfnodes 8 ай бұрын
tuple的 資料長度,能取到。18:10 len() 14:53 ,這很好用。不定參數;tuple是【有(時間)序列(可分析)表,如果有time( 自動時間戳記)、sleep( 自動載入 和 發呆( idle ))就更好用了。。】。
@cwpeng-course
@cwpeng-course 6 ай бұрын
感謝紀錄 :)
@judyhsu0315
@judyhsu0315 3 жыл бұрын
很喜歡老師講課的語速,講課內容很詳細清楚,影片呈現方式十分易懂 ! 謝謝老師無私分享
@cwpeng-course
@cwpeng-course 3 жыл бұрын
謝謝你呦,很高興對你有幫助 :)
@bigo.kn1599
@bigo.kn1599 Жыл бұрын
上了7堂克,發現老師講解好仔細 完全可以懂耶,講話速度剛剛好 適合在邏輯中建立倒轉思維 目標看完41堂(加油
@cwpeng-course
@cwpeng-course Жыл бұрын
讚讚,謝謝你詳細的回饋,覺得很棒 :)
@90weker29
@90weker29 3 жыл бұрын
謝謝老師的細心教學,影片介紹非常詳細,讓新手能夠消化吸收
@cwpeng-course
@cwpeng-course 3 жыл бұрын
不會,謝謝你的回饋 :)
@StanMarsh813
@StanMarsh813 2 жыл бұрын
感謝老師,這一系列影片不論是對剛上手Python,還是會python的都有幫助~!
@cwpeng-course
@cwpeng-course 2 жыл бұрын
謝謝你的回饋 :)
@リシンコウ
@リシンコウ 3 жыл бұрын
适应了彭彭老师的教课风格,很是感谢老师的Python课程。
@cwpeng-course
@cwpeng-course 3 жыл бұрын
不会呦,希望对你有帮助 :)
@余岱原
@余岱原 3 жыл бұрын
def avg(*ns): sum=0 for n in ns: sum+=n print(sum/len(ns)) n1=int(input('Enter how many numbers want to calculate: ')) numbers=[0]*n1 for n2 in range(1,n1+1): a=int(input('Please enter number %s is: ' % n2)) numbers[n2-1]=a numberstuple=tuple(numbers) print(numberstuple) avg (3,4,5) avg (numberstuple) 老師您好,看了您的教學之後嘗試了撰寫互動式的程式以重現您在這個影片的最後一個程式,程式碼如上,該程式分為3段,第一段是為計算平均數的函數,第二段具有讓使用者自行建立字串並轉換為有序陣列的程式,第三段為利用第一段的函數計算第二段由使用者輸入所產生的數列中的平均值。想請教的問題是如果將第二段程式碼『獨立』運行是可以產生有序數列的,將第一以及第三段(不包含"avg (numberstuple)")『獨立』運行也可以計算出有序數列(3,4,5)的平均值,這一點再麻煩老師利用分段執行程式進行確認。不過如果想要將整個程式一起運行時就會發生問題,第一段函數似乎不接受我利用第二段程式產生的有序數列,有關於這一點我想想老師請益一下原因為何,十分感謝您。
@余岱原
@余岱原 3 жыл бұрын
老師您好 抱歉我剛剛自己試出來了 def avg(ab): sum=0 for n in ab: sum=sum+n print(sum/len(ab)) n1=int(input('Enter how many numbers want to calculate: ')) numbers=[0]*n1 for n2 in range(1,n1+1): a=int(input('Please enter number %s is: ' % n2)) numbers[n2-1]=a numberstuple=tuple(numbers) print(numberstuple) avg (numberstuple) 要這樣子才可以,也在這邊提供經驗給共學者討論,謝謝老師
@cwpeng-course
@cwpeng-course 3 жыл бұрын
能自己試出來很棒哦 :)
@余岱原
@余岱原 3 жыл бұрын
@@cwpeng-course 十分感謝老師的指點,期待未來有更多機會能夠與老師請益,謝謝您🙂🙂🙂
@coslychac1777
@coslychac1777 3 жыл бұрын
感謝老師,我看別的網課學習python每次看一點就放棄了,因為老是卡殼也不知道為什麼要這麼操作,彭彭老師的視頻拯救了我,感謝🙏
@cwpeng-course
@cwpeng-course 3 жыл бұрын
謝謝你的回饋呦 :))))
@tungyanso944
@tungyanso944 3 жыл бұрын
謝謝你用心的教學!!學到太多有用知識了!
@cwpeng-course
@cwpeng-course 3 жыл бұрын
很高興對你有幫助哦,也謝謝你的回饋 :)
@charlieed6264
@charlieed6264 3 жыл бұрын
2021/05/24 #參數的預設資料 def power(base,exp=0): print(base**exp) power(3,2) power(4) #使用參數名稱對應 def divide(n1,n2): print(n1/n2) divide(2,4) divide(n2=2,n1=4) #無限/不定 參數資料 def avg(*numbers): ## Tuple 有序列表 for n in numbers: print(n) avg(1,4,-1,-8) def avg(*ns): sum=0 for n in ns: sum=sum+n print(sum/len(ns)) ##ns 是一個列表 Tuple avg(3,4) avg(3,5,10) avg(1,4,-1,-8)
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝紀錄 :)
@toolman6300
@toolman6300 3 жыл бұрын
最後在寫平均數時,因為都會固定複習前面影片學過的東西,就自己想出來應該可以用len(ns)當分母了,好開心!感謝老師的教學
@cwpeng-course
@cwpeng-course 3 жыл бұрын
哈哈哈,很高興你能自己連結在一起,很棒 :)
@姚字丞
@姚字丞 3 жыл бұрын
謝謝作者的製作。
@cwpeng-course
@cwpeng-course 2 жыл бұрын
:)
@鄭坤-v1x
@鄭坤-v1x 5 жыл бұрын
老師一直笑場,感覺更親切...謝謝老師您 戲心的教學,老頭子 挺進第十堂課了
@cwpeng-course
@cwpeng-course 5 жыл бұрын
哈哈哈,不客氣,很高興對你有幫助 :)
@applebule
@applebule 5 жыл бұрын
謝謝老師的詳細講解!真的很有幫助!
@cwpeng-course
@cwpeng-course 5 жыл бұрын
:)
@patrickjane7988
@patrickjane7988 6 жыл бұрын
非常實用,感謝老師的錄製
@cwpeng-course
@cwpeng-course 6 жыл бұрын
感謝你的回饋 :)
@-summer5825
@-summer5825 5 жыл бұрын
老师讲得真的非常非常非常的好!真好好好好好!
@cwpeng-course
@cwpeng-course 5 жыл бұрын
:)
@aapplefish
@aapplefish 4 жыл бұрын
@預設資料@ # ------------- def 函式名稱(參數名=預設資料): 函式內部的程式碼 # 參數msg預設資料為"Hello" def say(msg = "Hello"): print(msg) say("Hello Function") # 印出 Hello Function say() # 印出 預設資料 Hello # ------------- @名稱對應@ # ------------- def 函式名稱(名稱1, 名稱2): 函式內部的程式碼 # 呼叫函式,以參數名稱對應資料 函式名稱(名稱2=3, 名稱1=5) # 定義一個可以做除法的函數: def divide(n1, n2): result = n1 / n2 print(result) divide(2,4) # 印出0.5 divide(n2=2, n1=4) # 印出2.0 # ------------- @無限/不定 參數@ # ------------- def 函式名稱(*無限參數))): 無限參數以Tuple資料型態 處理函式內部的程式碼 # 呼叫函式,可輸入無限數量的參數 函式名稱(資料一,資料二,資料三) # # 函式接受無限參數msgs def say(*msgs): # 以Tuple的方式處理 for msg in msgs: print(msg) # 呼叫函式,傳入三個參數資料 say("Hello","Arbitary","Arguments") >>> Hello >>> Arbitary >>> Arguments # -------------- # 參數的預設資料 # ----01 def power(base,exp): print(base**exp) power(3,2) power(4) >>> 9 >>> TypeError # ----02 def power(base,exp=0): print(base**exp) power(3,2) power(4) >>> 9 >>> 1 # -------------- # 使用參數名稱對應 # -------------- def divide(n1, n2): print(n1/n2) divide(2,4) devide(n2=2,n1=4) >>> 0.5 >>> 2.0 # -------------- # 無限/不定 參數資料 # -------------- def avg(*ns): print(ns) avg(3,4) avg(3,5,10) avg(1,4,-1,-8) >>> (3, 4) >>> (3, 5, 10) >>> (1, 4, -1, -8) # ---- def avg(*ns): for n in ns: print(n) avg(3,4) >>> 3 >>> 4 # ----求平均數 def avg(*ns): sum = 0 for n in ns: sum = sum + n # sum+=n print(sum/len(ns)) avg(3,4) avg(3,5,10) avg(1,4,-1,-8) >>> 3.5 >>> 6.0 >>> -1.0
@cwpeng-course
@cwpeng-course 4 жыл бұрын
:)
@a5923252
@a5923252 6 жыл бұрын
期待很久了~希望彭彭老師能持續更新!影片介紹非常詳細
@cwpeng-course
@cwpeng-course 6 жыл бұрын
謝謝,會持續上線新的內容 :) ~
@張黴菌
@張黴菌 9 ай бұрын
老師您好我想請問sum=0為何要放在def裡,放在def之前像是以下程式這樣系統會說不知道sum這個變數,可是我不是在def之前已經宣告變數了,為何會這樣?覺得很玄 sum=0 def avg(*n): for m in n: sum=sum+m print(sum/len(n)) avg(3,4,5)
@kyli2037
@kyli2037 4 жыл бұрын
謝謝老師的教導~~解釋的好清晰!!
@cwpeng-course
@cwpeng-course 4 жыл бұрын
不客氣,也謝謝你的回饋!!
@肥狗二號
@肥狗二號 6 жыл бұрын
感謝老師,這次的課程也是清晰明白!!
@cwpeng-course
@cwpeng-course 6 жыл бұрын
:)
@zhtpiaoxue
@zhtpiaoxue 3 жыл бұрын
老师讲的太好了,我每天都学习一节课
@cwpeng-course
@cwpeng-course 3 жыл бұрын
谢谢你的回馈哪 :)
@Rance111
@Rance111 Жыл бұрын
老師有沒有講解涵式裡面呼叫函式 比如: def greeting(): print("Hello World!") greeting()
@cwpeng-course
@cwpeng-course Жыл бұрын
沒有哦,不過概念類似,就只是再呼叫一次自己,以你的程式來說會跑不完。
@yinchen7380
@yinchen7380 3 жыл бұрын
首先,再次感謝有彭彭老師的課程 自己雖然是念其他領域,但希望未來多學習軟體相關課程 聽老師的課程很淺顯易懂未來也想這邊發展!!! 我有兩個問題: 1.# 若想讓使用者自己輸入數字串 def avg(*ns): # 要做 "平均數"的功能 sum=0 for n in ns: sum=sum+n print(sum/len(ns)) # 這邊 len(ns) 代表 列表的長度 x=eval(input("請輸入數字串: ")) avg(x) 我照上述執行,系統一直跟我說會有問題,跑出下方提示 Traceback (most recent call last): File "lession 9.py", line 86, in avg("x") File "lession 9.py", line 82, in avg sum=sum+n TypeError: unsupported operand type(s) for +: 'int' and 'str' 2. 本身是光電領域相關,若想朝軟體發展 a.彭彭老師會建議有甚麼方向可以練習(目前看老師的影片學習Python 基礎與應用) b.對於想望這邊發展有甚麼甘苦談或是要去求職前能怎麼增加自己競爭力
@cwpeng-course
@cwpeng-course 3 жыл бұрын
1. 要看你實際上輸入了什麼內容,才能判斷為什麼會出錯哦。 2. 我這邊目前主要提供的是 Flask 後端開發的進階課程,可以針對後端工程師的職位學習。 如果不是相關科系,原則上就是要有些作品來證明自己的程式開發能力,這個是最重要的。
@Jax_Yang
@Jax_Yang Жыл бұрын
avg(x) >>>> avg(*x)
@苏玉超
@苏玉超 6 жыл бұрын
讲解的很详细,跟着真的能学会,感谢老师!
@cwpeng-course
@cwpeng-course 6 жыл бұрын
不客气呦 :)
@MacgyverYao
@MacgyverYao 2 жыл бұрын
感謝老師 找時間來訂閱贊助你!
@cwpeng-course
@cwpeng-course 2 жыл бұрын
謝謝你的回饋和支持 :)
@meggy0379
@meggy0379 5 жыл бұрын
謝謝老師用心的教學!
@cwpeng-course
@cwpeng-course 5 жыл бұрын
不客氣哦 :)
@肥狗二號
@肥狗二號 6 жыл бұрын
重新學習再來拜見!!
@mantinglin
@mantinglin 3 жыл бұрын
您好 在最後無限/不定參數資料的部分 我在python3.9會出現兩組數值 比如avg(3, 4) 會出現1.5跟3.5 顯而易見是3+0/2 跟 0+3+4/2的結果 但回1.5並沒有意義也不需要所以我將程式碼改成 def avg(*ns): s = sum(ns) result = [s/len(ns)] return result avg(3, 4)結果就會只有3.5了 想問還有沒有建議的做法 謝謝!
@張育華-p4j
@張育華-p4j 3 жыл бұрын
會出現1.5的答案是因為 print(sum/len(ns)) 寫到for的區塊裡。所以才會出現1.5和3.5兩個值 不過您的寫法我也學到了。
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝 @張育華 的回應和說明 :)
@lllewis4304
@lllewis4304 4 жыл бұрын
很棒的教學!
@cwpeng-course
@cwpeng-course 4 жыл бұрын
謝謝你的回饋 :)
@sun__0131
@sun__0131 3 жыл бұрын
老師 請問您有講解 在Function內的(雙**) 意思嗎? 我現在終於明白「無限參數」,但是前幾天心血來潮去嘗試編寫Discord Bot有看到Function內有Main(*args, **kwargs),我搞不太清楚 **kwargs 是什麼意思
@wenwenwen2088
@wenwenwen2088 3 жыл бұрын
+1,我也想知道
@cwpeng-course
@cwpeng-course 3 жыл бұрын
他可以讓函式接受任何帶有名稱的參數輸入,並且存成一個字典,可以試著執行以下程式看看: def test(**kwargs): print(kwargs) test(a=3, b=4, c=5) test(x=3, y=4, z=5)
@林冠樺-v5w
@林冠樺-v5w 8 ай бұрын
老師請問avg()裡面可以預設一個tuple嗎? 例如如果都不輸入的情況下預設為(1,2,3)
@cwpeng-course
@cwpeng-course 5 ай бұрын
可以哦 ~
@AUO0524030
@AUO0524030 5 жыл бұрын
彭彭老師 謝謝你!!
@cwpeng-course
@cwpeng-course 5 жыл бұрын
不會呦 :)
@林立亞
@林立亞 2 жыл бұрын
請問彭彭老師 最後一段 def avg(*ns): 為什麼ns前要加 * ? (影片15:40處) 謝謝 反覆聽了幾次只有提到 星星+numbers
@pennylin3149
@pennylin3149 2 жыл бұрын
* 代表無限參數,影片: 4:59 開始有解釋~
@cwpeng-course
@cwpeng-course 2 жыл бұрын
感謝 @Penny Lin 說明 :)
@jimmy72727jimmy
@jimmy72727jimmy 4 жыл бұрын
彭彭老師你好,請問可以跟你索取一份python影片裡面的slides嗎? 謝謝
@cwpeng-course
@cwpeng-course 4 жыл бұрын
欸欸欸欸,讓我考慮一下,不好意思 XDDDDD
@坤億陳
@坤億陳 3 жыл бұрын
受益良多 感謝。
@cwpeng-course
@cwpeng-course 3 жыл бұрын
不會,有幫助就好 :)
@jiingyangkoh3121
@jiingyangkoh3121 Жыл бұрын
老师,想询问为什么找平均数使把sum=0放入佛如语句里所找出来的平均数是错误的?
@cwpeng-course
@cwpeng-course Жыл бұрын
这样的话每次转圈都会重新把 sum 设定为 0,没有累积的效果
@jiingyangkoh3121
@jiingyangkoh3121 Жыл бұрын
@@cwpeng-course 明白了,谢谢老师
@lfsuen5717
@lfsuen5717 4 жыл бұрын
謝謝彭老師
@cwpeng-course
@cwpeng-course 4 жыл бұрын
不客氣哦 :)
@我想學英文
@我想學英文 3 жыл бұрын
TUPLE (3,5,7)的資料不可變動 LIST【】的資料才可以變動
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝紀錄 :)
@hsiehhao-yun3056
@hsiehhao-yun3056 4 жыл бұрын
謝謝老師
@cwpeng-course
@cwpeng-course 4 жыл бұрын
:)
@robinlee329
@robinlee329 3 жыл бұрын
不好意思想請問老師~15:45 秒的 *ns 中的 *代表是什麼意思呢
@melodybaby0722
@melodybaby0722 3 жыл бұрын
去看無限參數的基本語法喔~老師有很清楚地提到
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝 @melodybaby0722 的回應呦 ~~~
@tracyliu116
@tracyliu116 3 жыл бұрын
教的好清楚
@cwpeng-course
@cwpeng-course 3 жыл бұрын
謝謝 :)
@王森林
@王森林 3 жыл бұрын
謝謝老師!不知道有沒有對陣列直接運算(平均)的函數呢?
@cwpeng-course
@cwpeng-course 3 жыл бұрын
可以用 statistics 模組: import statistics data=[11, 21, 11, 19, 46, 21, 19, 29, 21, 18, 3, 11, 11] result=statistics.mean(data)
@王森林
@王森林 3 жыл бұрын
@@cwpeng-course 謝謝老師
@王森林
@王森林 3 жыл бұрын
@@cwpeng-course 謝謝老師
@hsinrouhuang8642
@hsinrouhuang8642 Жыл бұрын
請問一開始定義函式時,ns為什麼要加*呢,後面在print時為什麼不用星號呢?謝謝
@cwpeng-course
@cwpeng-course Жыл бұрын
用來表達這個參數名稱可以接受任意長度的參數,所以傳遞進來的多個參數資料都可以透過這個名稱來取得,後續使用就只要使用那個名稱就可以了。
@AK-di6xs
@AK-di6xs 3 жыл бұрын
# 函式參數詳解 # 基本語法 #def 函式名稱(參數名稱=預設資料): #函式內部的程式碼 # 程式範例 # 參數 msg 預設資料為"Hello" def say(msg="Hello"): print(msg) # 印出 Hello Function say("Hello Function") # 參數輸入為"Hello Function" say() # 印出預設資料"Hello" (沒有輸入參數就是用預設參數"Hello") # 名稱對應 # 基本語法 #def 函式名稱(名稱1,名稱2): #函式內部的程式碼 # 呼叫函式,以參數名稱對應資料 #函式名稱(名稱2=3,名稱1=5) # 參數的輸入可以不用按照順序放 不過參數名稱要打出來加等於 (用名稱對應) # 程式範例 # 定義一個可以做除法的函式 def divide(n1,n2): result=n1/n2 print(result) divide(2,4) # 印出 0.5 divide(n2=2,n1=4) # 印出 2.0 # 無限參數 # 基本語法 #def 函式名稱(*無限參數) (參數的前面加一個* 代表無限參數 要放幾個資料都可以) #無限參數以 Tuple 資料型態處理 #函式內部的程式碼 # 呼叫函式,可傳入無限數量的參數 #函式名稱(資料一,資料二,資料三) # 程式範例 # 函式接受無限參數msgs def say(*msgs): # 以 Tuple 的方式處理 for msg in msgs: print(msg) say("Hello","Arbitrary","Arguments") # 參數的預設資料 def power(base,exp=0): # 做開方 預設值設為0 print(base**exp) power(3,2) power(4) # 使用參數名稱對應 def divide(n1,n2): print(n1/n2) divide(2,4) divide(n2=2,n1=4) # 參數名稱對應 # 無限/不定 參數資料 def avg(*ns): # 做平均數的函式 print(ns) sum=0 for n in ns: sum=sum+n print(sum/len(ns)) # len() 列表的長度 avg(3,4) avg(3,5,10) avg(1,4,-1,-8)
@cwpeng-course
@cwpeng-course 3 жыл бұрын
:)
@酸酸-h1b
@酸酸-h1b 3 жыл бұрын
您好,老師想詢一下 def avg(*ns): sum=0 for n in ns: sum=sum+n print(sum/len(ns)) avg(3,4) avg(3,5,10) avg(1,4,1,-8) 這裡的print 為何往後退到 sum=sum+n 會出現錯誤 如: def avg(*ns): sum=0 for n in ns: sum=sum+n print(sum/len(ns)) 但 def avg(*ns): sum=0 for n in ns: print(n) avg(3,4) 這裡的print就要縮到很後面 才會有答案。 想問一下 這裡 要怎麼區分 我哪些要縮排?
@cwpeng-course
@cwpeng-course 3 жыл бұрын
每一層的縮排對應到迴圈或判斷式結構。你的第一段程式最後一個縮排沒有對應到任何迴圈或判斷式結構,所以程式結構上是錯誤的。
@asdfrv2000
@asdfrv2000 2 жыл бұрын
彭彭老師您好: 如果函式名稱(*無限/不定參數),直接將設定好的參數名稱加上*,是否等同於直接呼叫函式並執行函式? 以下為個人練習,懇請不吝教導,感謝。 nums1 = tuple(map(int, input("輸入要計算的值: ").split())) def avg(*nums1): # *加上參數名稱,無限/不定參數以Tuple資料型態處理 sum = 0 for i in nums1: sum += i print(sum / len(nums1)) avg(*nums1)
@cwpeng-course
@cwpeng-course 2 жыл бұрын
不會說加上 * 就等同於直接呼叫函式哦,呼叫函式還是從:函式名稱() 這樣觸發的,你的程式中就是最後一行的 avg() 這個部份。
@asdfrv2000
@asdfrv2000 2 жыл бұрын
@@cwpeng-course 明白了,謝謝老師
@曾紹幃
@曾紹幃 4 жыл бұрын
def avg(*ns): total=0 m=0 for m in ns: total+=m print(total/len(ns)) n=int(input("請輸入平均數字的數量:")) if isinstance(n,int): x=[0]*n for i in range(n): print("第",i+1,"位:") x[i]=[int(input())] a=[ ] for j in range(n): a=a+x[i] avg(tuple(a)) 這段程式會把for迴圈內的m轉成tuple(這樣會讓函式內total跟m無法相加) 就算在後面加上int(m)也沒有用 請問老師 為什麼m會轉成tuple 又要怎麼解決?
@cwpeng-course
@cwpeng-course 4 жыл бұрын
ns 會吃到你給的 tuple(a),所以印出來就是 tuple 了,最後面呼叫 avg 的時候,按照影片的作法一一把數字放進去就可以,不需要事先轉換成 tuple 嘍 ~ 真的要轉換成 tuple,定義時就不需要使用不定長度參數這個概念,只要一般參數就可以了。
@GanLinChuMa
@GanLinChuMa 3 жыл бұрын
老師 我卡關了 #做一個計算平均數的函式 def avg(x, *args): res=x for y in args: res=res+y print(res,y, len(str(res))) return(res/len(str(res))) avg(10,15,20) -------------------------------- 輸出: 25 15 2 45 20 2 22.5 變成相加除以2 而非除以3?
@cwpeng-course
@cwpeng-course 3 жыл бұрын
len(str(res)) 會把 res 這個兩位數的數字轉換成字串,再計算字串的長度,自然就會是 2 了。
@jasonhuang6242
@jasonhuang6242 6 жыл бұрын
彭彭老師可以問個問題嗎? 呼叫自定義函式()中的參數資料可以使用list 或是 tuple 而非直接輸入嗎? 如果 A=[1,2,3], f(A)就能得到想要的結果 感覺會比呼叫 f(1,2,3)來的便利許多 --------------------------------------- 函式練習 --------------------------------- # 定義正規化向量函式 某向量進來 會印出各單位向量並回傳單位向量列表 def normalize(*Tuple1): if len(Tuple1)
@jasonhuang6242
@jasonhuang6242 6 жыл бұрын
彭彭的課程 感謝~ 原來修改*就好了 想說不知道輸入進去的資料有多長就加*了
@cwpeng-course
@cwpeng-course 4 жыл бұрын
讚讚 :)
@waynework1724
@waynework1724 3 жыл бұрын
看了1-10的影片,用1-10的影片做了一個簡單計算機,自己試寫的靈感,很謝謝有讓我學到,但還不會輸入數字以外也顯示訊息告知使用者,所以還有一個會報錯誤 def addoutput(): while True: aa=input('輸入數字(結束請輸入@):') if aa=='@': return aa=int(aa) while True: add=input('請輸入加減乘除(重新計算請輸入#)(結束請輸入@):') if add=='+': aa_2=int(input('輸入數字:')) bb=aa+aa_2 print('答案:',bb) aa=bb continue elif add=='-': aa_2=int(input('輸入數字:')) bb=aa-aa_2 print('答案:',bb) aa=bb continue elif add=='*': aa_2=int(input('輸入數字:')) bb=aa*aa_2 print('答案:',bb) aa=bb continue elif add=='/': aa_2=int(input('輸入數字:')) bb=aa*aa_2 print('答案:',bb) aa=bb continue elif add=='#': break elif add=='@': return else: print('只能輸入加減乘除四個符號') addoutput()
@cwpeng-course
@cwpeng-course 3 жыл бұрын
很棒的練習和分享,能自己去完成一些想做的操作是很有意義的 :)
@gmchen932
@gmchen932 4 жыл бұрын
def power(base,exp=0): print(base**exp) power(3,3) 我本來想說為什麼不是印出none 而是9 後來想到 這是迴圈裡面的Print 而不是跳出來後再print ,所以不受return影響
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝你的經驗分享哦 :)
@yutinglai500
@yutinglai500 4 жыл бұрын
印出的應該是27吧? 3的3次方
@haungsir8992
@haungsir8992 5 жыл бұрын
想請教如何於def avg(*ns): # print(ns) sum=0 for n in ns: # print(n) sum=sum+n print("平均:",sum/len(ns)) print("總和:",sum) 後面建立一個迴圈,讓使用者逐項輸入資料後,再呼叫avg函式算出基本統計數據 總和,平均。 謝謝喔!
@cwpeng-course
@cwpeng-course 5 жыл бұрын
看來你已經寫完了呀 XDDDD
@haungsir8992
@haungsir8992 5 жыл бұрын
謝謝回覆,但是除了這樣avg(29,2,21,10,22)逐項輸入後呼叫 ,能否使用input 搭配 迴圈設定終止條件存入列表,然後再呼叫函式,輸出關於剛剛輸入的數字平均與總和。 3Q~自覺還是新手...
@nn4698ss
@nn4698ss 5 жыл бұрын
@@haungsir8992 不過就算搭配 input 也一樣要逐項輸入不是嗎 (
@garlic-q7g
@garlic-q7g 3 жыл бұрын
我想问一下,如果我想让使用者自己输入一个tuple的话可以这样写吗? x=int(input(""))
@cwpeng-course
@cwpeng-course 3 жыл бұрын
你可以寫 x=eval(input("")),然後輸入的時候就輸入 (3,4)
@andychen961
@andychen961 4 жыл бұрын
老師,我想請問第一個範例為甚麼不能只預設 n1 不預設n2 , 例如 def a (n1=2,n2): print(n1**n2) a(n2=2) 這樣打程式是錯的 請問為什麼?? ___________ 還有無限參數的部分sum=0為什麼不能放在程式最外面?? 是因為沒有在定義裡面所以算到嗎?
@cwpeng-course
@cwpeng-course 4 жыл бұрын
這是一個規定,也就是有預設的參數一定要放在後面。 因為我打算讓 sum 這個變數在函式中運作,每次函式被呼叫都會先被歸零,放在最外面,就只會在程式執行時歸零一次,後續的函式呼叫就都不會先歸零。
@黃子玹-k3d
@黃子玹-k3d 4 жыл бұрын
老師: 關於可以輸入無限參數的函式... 請問我可以設定動態長度的touple嗎? 要傳到函式的值可以是touple嗎? 舉例來說~ 我可以使用input來一直輸入我要算平均的數字,並設while讓他判斷我輸入0他會break,之後利用touple傳到函式計算
@cwpeng-course
@cwpeng-course 4 жыл бұрын
可以的。 若你自己準備好一個資料的列表,就不一定要使用無限參數的函式,用單一參數把列表傳進去就可以 ~
@黃子玹-k3d
@黃子玹-k3d 4 жыл бұрын
彭彭的課程 好的👌謝謝彭彭老師解惑!
@lintony2215
@lintony2215 3 жыл бұрын
請問一下算平均數時 或是除法 print出來他會自動把小數點的值省略 例如2/3 =0了 請問要怎麼讓他可以顯示出小數點呢? 謝謝
@cwpeng-course
@cwpeng-course 3 жыл бұрын
你的 Python 還是 2 版的,建議使用 Python 3 版以上。如果是 Mac 執行時請輸入:python3 檔案名稱
@water3111
@water3111 6 жыл бұрын
def a(n1,n2): b=n1**n2 return b - a(3,3) --> 終端機無法跑出結果 v=a(n1=2,n2=3) print(v) ---> 順利跑出答案8 ------- 彭彭老師,你好^^ 請問一下為什麼當有兩參數時, return反而無法透過a(3,3)呼叫函式得出結果? 備註:上一堂課,測試過如果只有單一參數,return可以順利透過呼叫得到結果
@cwpeng-course
@cwpeng-course 6 жыл бұрын
a(3,3) 也是有結果嘍,只是你沒有把回傳值像下面的程式一樣印出來, 如果想要看到回傳值,可以寫: v=a(3,3) print(v)
@joanneyen3312
@joanneyen3312 5 жыл бұрын
# 使用參數的名稱對應 def divide(n1,n2): print(n1/n2) divide(2,4) divide(n2=2,n1=4) 為何印出的是 0 2 是否是第一個沒有印到小數點後呢? 像是我單打 x=7/3 print(x) 也只會印出2 請問是程式本身的問題嗎?
@cwpeng-course
@cwpeng-course 5 жыл бұрын
你可能是使用了 python 2 的版本,會將 / 做整數除法,忽略小數的部分。 建議升級到 python 3 來做學習。
@Eric-x3f9i
@Eric-x3f9i 5 жыл бұрын
老師您好,我想問一下 把影片最末的函式改成 def avg(*ns): # sum=0 # for x in ns: # sum+=x # return sum/len(ns) 再呼叫 avg(3,4),為什麼沒顯示出值?
@cwpeng-course
@cwpeng-course 4 жыл бұрын
print 會直接印出結果,改成 return 是把結果回傳,就不會印出來了。 先確認理解回傳的意義之後,就可以按照自己的需求改程式,把呼叫地程式調整如下: result=avg(3,4) print(result)
@kurfun9060
@kurfun9060 2 жыл бұрын
彭老師您好,我在enter python function-args.py時,程式沒跑答案,反而又重複了一列PS C:\python exit>,請問該如何處理?
@cwpeng-course
@cwpeng-course 2 жыл бұрын
如果確定有先儲存檔案,就試著移除 VS Code 中相關的擴充套件,重新啟動電腦之後再試試看。
@kurfun9060
@kurfun9060 2 жыл бұрын
瞭解,謝謝彭老師
@DarrylLee-cz5rv
@DarrylLee-cz5rv 6 жыл бұрын
老師您好 我想將最後一個計算平均值的範例改成讓使用者自己決定要輸入哪些數值,若想停止輸入的話請輸入bye,停止後輸入到函式進行運算並print出計算後的平均值結果 以下程式碼在Jupyter Notebook執行時完全沒問題,但以Visual Code卻顯示錯誤,請問是哪邊出了問題呢? 感謝老師! ----------------程式碼---------------- def average(ns): sum=0 for n in ns: print(type(n)) sum+=int(n) print("What you entered" + str(ns)) print("The average is %.2f" % (sum/len(ns))) x = [] go = True while go == True: x.append(input("Please enter integers, ends it by entering a bye:")) if x[len(x)-1] == 'bye': go=False #若偵測到使用者最後一個輸入值為bye字串,即改變go的值來停止使用者輸入 x[len(x)-1]=0 #把list中最後一個資料值從bye改為0以利正確計算 average(x) ----------------錯誤碼---------------- File "average.py", line 12, in x.append(input("Please enter integers, ends it by entering abye:")) File "", line 1, in NameError: name 'bye' is not defined
@cwpeng-course
@cwpeng-course 6 жыл бұрын
我測試過你的程式沒什麼問題。 可能看看你電腦中的 python 版本是否是 3.x 版,如果是 Mac,用 python3 來執行程式。
@DarrylLee-cz5rv
@DarrylLee-cz5rv 6 жыл бұрын
@@cwpeng-course wow老師感謝您,我把執行命令從python改成python3後就可以了,,,
@DarrylLee-cz5rv
@DarrylLee-cz5rv 6 жыл бұрын
@@cwpeng-course 老師抱歉再請教一個邏輯問題,若再將程式碼 x = [] go = True while go == True: x.append(input("Please enter integers, ends it by entering a bye:")) if x[len(x)-1] == 'bye': go=False 其中x.append(input("Please enter integers, ends it by entering a bye:")) 改成x = x.append(input("Please enter integers, ends it by entering a bye:")) 此時x在輸入後為什麼我print(x)出來的答案是None呢?
@cwpeng-course
@cwpeng-course 6 жыл бұрын
x.append(資料) 會把資料放進 x 列表本身裡面。但回傳 None。 所以你寫 x=x.append(資料) 反而會把 x 變數中的資料用 None 覆蓋。
@DarrylLee-cz5rv
@DarrylLee-cz5rv 6 жыл бұрын
@@cwpeng-course 感謝老師。 是否也就是說,原本定義append()的fucntion裡面是類似以下 def append(資料): 執行append的程式碼 return 所以才會使用x=x.append(資料)後,除了已經執行append的程式碼之外,最後回傳None給x導致最後x變成None
@tsungchunhsieh8104
@tsungchunhsieh8104 4 жыл бұрын
老師您好 我想請問一下 如果我讓使用者自行輸入 但是他沒輸入任何值 似乎沒有作用 請問該如何解決呢 謝謝 def power(base,exp=0): #exp=預設等於0 print("答案為: ",base**exp) power(float(input("請輸入被平方數: ")),float(input("請輸入平方數: "))) 請輸入被平方數: 3 請輸入平方數: Traceback (most recent call last): File "funtion.py", line 3, in power(int(input("請輸入被平方數: ")),int(input("請輸入平方數: "))) ValueError: invalid literal for int() with base 10: ''
@WZMick
@WZMick 4 жыл бұрын
這一題其實因為輸入的值都會是String,建議轉換資料型態可以另外寫 接著去判斷 再把值傳到def裡面去 以下是我的解法 如果有其他人有更好的方法 也請留言 我是一位Python新手 請大家鞭小力一點 def power(base,exp=0): #exp=預設等於0 if exp == " ": int(exp=0) print("答案為: ",base**exp) else: print("答案為: ",base**exp) #main() num1=input("請輸入被平方數: ") num2=input("請輸入平方數: ") num1=int(num1) if num2 == "": power(num1) else: num2=int(num2) power(num1, num2)
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝 @Wen-Zhi Mick,很棒的分享 :) 也可以用 isdigit() 這個方法來事先判斷輸入是否為數字,如下: data=input("請輸入數字") if data.isdigit(): print("是數字") else: print("不是數字")
@yinchen7380
@yinchen7380 3 жыл бұрын
@@cwpeng-course 老師您好,我看到這則留言想提問: 我將上面分開就可以執行,跟原Po的差別只有 有沒有接在丟進print差別,程式有影響這麼多嗎? def bang(base,exp): # 要做 "次方" 的功能 print("答案是: ",base**exp) a=int(input("請輸入底數: ")) b=int(input("請輸入次方數: ")) bang(a,b)
@r2btea863
@r2btea863 3 жыл бұрын
請問為何無限參數不是list的方式儲存呢?為何一定是tuple?不太了解這跟其不可動的特性有何關聯,謝謝!
@cwpeng-course
@cwpeng-course 3 жыл бұрын
這倒也沒為什麼,就是 Python 內部的運作機制,可能他不太希望你去更動最原始的參數內容 ~
@rfl577
@rfl577 5 жыл бұрын
老師您好 想請問可以給無限參數預設值嗎? 例如 def avg(*ns=(3,4)): sum=0 for n in ns: sum=sum+n print(sum/len(ns)) avg()
@cwpeng-course
@cwpeng-course 5 жыл бұрын
不行哦 ~~~~~~
@jingyukuan5988
@jingyukuan5988 4 жыл бұрын
不好意思,我想問為什麼無限參數資料最後一行不能寫成return (sum/len(ns))呢?謝謝。
@48288712
@48288712 4 жыл бұрын
剛剛嘗試了一下,沒有不行耶
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝 @錦蓮林 的回應。確實應該是可以,或許可以貼上錯誤訊息來看看 ~
@tobey8203
@tobey8203 4 жыл бұрын
老師您好 有看到別人寫的函式程式碼為 def f(x,y,z): return x+y+z print(f(1,20,300)) 有些疑惑,函式內部執行的算式可以直接利用return執行? 也可以直接利用print呼叫函式嗎? 因為沒有看到呼叫函式的程式碼
@cwpeng-course
@cwpeng-course 4 жыл бұрын
return 後面接一個資料,可以直接寫 return 3,或者是一個運算得到的資料,例如 return x+y 仔細看 print() 裡面的 f(1,20,300) 就是呼叫函式的程式碼哦,只是寫在一起,後面的 print(f(1,20,300)) 也可以拆解為: result=f(1,20,300) print(result)
@許皓翔HSUHAO-HSIANGF5406
@許皓翔HSUHAO-HSIANGF5406 4 жыл бұрын
彭彭老師好 想請問一下最後面那個任意長度參數的用法 我如果要寫1-10的平均值,可否使用Range的搭配? 我目前已經嘗試過: def avg(*numbers): sum=0 for x in numbers: sum=sum+x print(sum/len(numbers)) a=range(11) avg(print(a)) 或者 def avg(*numbers): sum=0 for x in numbers: sum=sum+x print(sum/len(numbers)) avg(range(11)) 兩者都不能跑出正確的東西,想請問如何使用,謝謝老師
@SUJUloveforever13
@SUJUloveforever13 4 жыл бұрын
def avg(min,max): sum=0 for n in range(min,max+1): sum=sum+n print(sum/len(range(min,max+1))) min=int(input("請輸入數字一:")) max=int(input("請輸入數字二:")) avg(min,max) 我是這樣寫,min輸入1,max輸入10,就可以算出1加到10的平均 把大大的寫法改成以下這樣也可以 def avg(*numbers): sum=0 for x in numbers: sum=sum+x print(sum/len(numbers)) avg(1,2,3,4,5,6,7,8,9,10) 不知道不能寫range(1,11)的原因是不是跟任意長度參數本來就是「不定個數」參數有關係 求其他高手解答XDD
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝 @王馨君 的分享,很棒哦 :) range 不能使用在這個地方,不合語法的 ~
@wenwenwen2088
@wenwenwen2088 3 жыл бұрын
@@SUJUloveforever13 想要使用range(1,11)求其平均數也是可以,把程式稍微修改如下即可 def avg(*numbers): sum=0 for x in numbers[0]: sum=sum+x print(sum/len(numbers[0])) avg(range(1,11))
@kai_b2w
@kai_b2w 2 жыл бұрын
@@wenwenwen2088 可以請問為甚麼是numbers[0]嗎
@劉威廉-g8d
@劉威廉-g8d 3 жыл бұрын
老師,請問如何一鍵就讓整排#字號,謝謝老師
@cwpeng-course
@cwpeng-course 3 жыл бұрын
選取之後按 ctrl+/
@麻雀呱
@麻雀呱 3 жыл бұрын
有沒有辦法有兩個無線參數
@liyfengtim74
@liyfengtim74 3 жыл бұрын
例如? 這問題很像一個無限還是兩個無限比較多哈哈哈
@cwpeng-course
@cwpeng-course 3 жыл бұрын
不行哦 ~
@zxc87xzs
@zxc87xzs 3 жыл бұрын
彭彭老師想請教一題考古題 題目如下 def a(v1): def b(v2): return v1**v2 return a a1=a(5) print(a1(3)) 想請問為什麼答案是125 還有第八行為什麼不行直接print(a1)一定要加(3) 程式才跑得出來
@cwpeng-course
@cwpeng-course 3 жыл бұрын
最後的答案是 5 的 3 次方所以是 125。a1 會是一個函式,所以你要呼叫函式並且給定參數的值才能夠執行函式,並取得回傳值。
@zxc87xzs
@zxc87xzs 3 жыл бұрын
@@cwpeng-course 謝謝彭彭老師 大致理解了
@wenwenwen2088
@wenwenwen2088 3 жыл бұрын
我實作的結果發現,考古題中的 return a 要改成 return b 才會得到 答案 125
@kai_b2w
@kai_b2w 2 жыл бұрын
@@wenwenwen2088 v1=5 def b包在def a裡,但最後return b,所以def a = def b = a1 所以最後print a1(3)= b(3) ,代表v2=3 最後從def b 中return 得出 v1**v2 = 5**3 =125 請問以上有誤解的地方嗎
@蕭舜修
@蕭舜修 3 жыл бұрын
彭彭老師您好,想請問您的YT上有串列的課程嗎?
@cwpeng-course
@cwpeng-course 3 жыл бұрын
如果你說的是 List 的話,這系列課程的前面有基本的介紹 ~
@許哲嘉-x6k
@許哲嘉-x6k 4 жыл бұрын
請問為什麼一定要用for迴圈 我自己寫的時候直接用 def avg(*ns): a=sum(ns)/len(ns) print(a) value=avg(3,5,8,9,6) 也跑的出答案
@cwpeng-course
@cwpeng-course 4 жыл бұрын
也是可以的,使用 for 迴圈也只是教學上的一個考量 :)
@kill13790
@kill13790 4 жыл бұрын
請問這樣寫也能夠得到一樣結果的邏輯是什麼?
@許哲嘉-x6k
@許哲嘉-x6k 4 жыл бұрын
不知道你是不是在問這個 我那個ns前面加上一個*的話可以輸入好幾個參數然後把這些參數變成一個list
@kill13790
@kill13790 4 жыл бұрын
​@@許哲嘉-x6k 謝謝你的回應。我另外做了嘗試,原來sum本身就是內建加總的函數,因此不用另外定義sum。
@Andrew-rw4op
@Andrew-rw4op 3 жыл бұрын
老師打擾了 想問一下 假如說想配合迴圈以及函式 來做一個平均數的計算 該如何利用迴圈將每一次所輸入的數字丟進計算平均的函數呢? 例如說 輸入0來結束迴圈 我打 6 (enter) 4 (enter) 0 (enter) 最後出來的結果是:5
@cwpeng-course
@cwpeng-course 3 жыл бұрын
可以搭配 List 來操作,每次輸入都把資料加入 List 中,最後再把所有資料取出來算平均數。
@Andrew-rw4op
@Andrew-rw4op 3 жыл бұрын
@@cwpeng-course 謝謝老師!!問題解決了!
@mobileformex3682
@mobileformex3682 3 жыл бұрын
老師,我遇到問題 我照著打這組程式 // def avg(*ns): for n in ns: print(3,4) avg(3,4) // 出來的結果卻顯示現二次3 4: 3 4 3 4 而不是 3 4 為什麼呢?
@Urania_.
@Urania_. 3 жыл бұрын
你的print(3,4)打錯了,應該是print(n) 大約在17:13的地方
@mobileformex3682
@mobileformex3682 3 жыл бұрын
@@Urania_. 謝謝
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝 @張米拉 的說明 :)
@Uaena0302
@Uaena0302 4 жыл бұрын
想請問老師,在打程式碼的地方,有什麼快捷鍵可以直接切換到RUN的地方嗎,用滑鼠點感覺有點慢,上網也沒有查到
@cwpeng-course
@cwpeng-course 4 жыл бұрын
可以試試看用 ctrl+` 最左上角那個符號 ~
@Uaena0302
@Uaena0302 4 жыл бұрын
@@cwpeng-course 謝謝老師!課程受益無窮!
@dshuang7891
@dshuang7891 4 жыл бұрын
請問老師 如果無限參數函式裡面程式碼改用while做avg要怎麼跑呢?
@cwpeng-course
@cwpeng-course 4 жыл бұрын
你可以參考看看以下的程式: index=0 while index
@泱苗千翔
@泱苗千翔 4 жыл бұрын
我隨便寫了一個: def z(z1,x2): print(z1**x2) z(2,3) 發現也可以開次方 好像沒有一定要用(base,exp)?
@trygsoulgood647
@trygsoulgood647 4 жыл бұрын
那只是你自訂的變數 沒有差
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝 @Marvin V 的回應 ~~
@mkadeu17k
@mkadeu17k 5 жыл бұрын
老師您好, 想請教 #使用參數名稱對應 def divide(n1,n2): print(n1/n2) divide(2,4) divide(n2=2,n1=4) 跑出來的答案是 0 2 沒有小數點...請問該怎麼調整呢
@以撒-z2z
@以撒-z2z 5 жыл бұрын
你使用的python版本可能是 python2 python3有對整數除法做調整 照理來講2/4會跑出0.5
@cwpeng-course
@cwpeng-course 5 жыл бұрын
感謝 @以撒 的回應,確實很可能是版本的問題。 如果是 Mac,安裝最新版的 python 之後,使用:python3 檔案名稱 來執行程式嘍。
@陳泰豪-e1q
@陳泰豪-e1q 5 жыл бұрын
謝謝老師的教導,但是最後的無限參數都照著老師的程式碼打卻終端機卻沒有任何顯示,附上程式碼還請老師能指導一下!謝謝! def avg(*ns): sum=0 for n in ns: sum=sum+n print(sum/len(ns)) avg(3,4) avg(3,5,10) avg(1,4,-1,-8)
@cwpeng-course
@cwpeng-course 5 жыл бұрын
程式碼的縮排要注意哦: print(sum/len(ns)) avg(3,4) avg(3,5,10) avg(1,4,-1,-8) 這四行都多縮了一層。
@lucyhsu7064
@lucyhsu7064 5 жыл бұрын
您好, 感謝有此平台能學習python 碰到一個問題 程式執行時最後會出現 "" 請問是什麼問題?感謝丫 程式請參考下方, 謝謝 #輸入開始值及結束值,算出總和及加總次數 def a(min,max): min=int(input("請輸入開始值:")) max=int(input("請輸入結束值:")) sum=0 #sum為總和 n=0 #加總次數 for x in range (min,max+1): sum+=x n+=1 else: print(min,"+",max,"總和為",sum) print("加總次數為:",n) a(min,max) print(a)
@RAININGHOUSE
@RAININGHOUSE 5 жыл бұрын
有點不懂最後一行要印什麼,答案是否在倒數第二行就可以得到了
@lucyhsu7064
@lucyhsu7064 5 жыл бұрын
Chen Chi Hu 感謝, 確實最後一行是多餘。 真心感謝
@RAININGHOUSE
@RAININGHOUSE 5 жыл бұрын
Lucy Hsu 不會喔,也還在學,一起加油👍
@cwpeng-course
@cwpeng-course 5 жыл бұрын
感謝 @Chen Chi Hu 的回應 :)
@user-xt1fi7jy5e
@user-xt1fi7jy5e 3 жыл бұрын
請問想讓使用者自己輸入Tuple 為什麼不能寫 x=int(input(""))?
@吳小雞-f6w
@吳小雞-f6w 3 жыл бұрын
不能直接用int把Tuple內的資料轉成整數
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝 @classE_21_李星亞 的說明 :)
@user-campingbeach__
@user-campingbeach__ 3 жыл бұрын
老師妳好,我在最後一個算平均數的環節,發現我平均數沒辦法呈現小數點以後的部分, 想請問是什麼狀況呢?
@cwpeng-course
@cwpeng-course 3 жыл бұрын
你使用的 Python 應該是第 2 版的,如果是 Mac 執行時使用:python3 檔案名稱
@Gary-fq1ti
@Gary-fq1ti 4 жыл бұрын
请问彭彭老师:def divide(n1,n2): print(n1/n2) divide(2,4) divide(n2=2,n1=4) 为何结果出现的是0,2而不是0.5,2呢?
@刘小顺-l4j
@刘小顺-l4j 4 жыл бұрын
你程式码print(n1/n2)那里是不是多打了个/,你这个结果很像整数除法的运算结果
@cwpeng-course
@cwpeng-course 4 жыл бұрын
因为是执行整数除法,不会处理小数的部份哦。 要处理小数的部份,要写成 print(n1//n2)
@alexchan2025
@alexchan2025 5 жыл бұрын
說得很清楚而且很易懂,唯一想說的是0**0呢?
@cwpeng-course
@cwpeng-course 5 жыл бұрын
謝謝 :) 是指 0 的 0 次方嗎?我剛剛試了一下跟數學定義一樣會得到 1
@trygsoulgood647
@trygsoulgood647 4 жыл бұрын
想問老師 有推薦的網站可以練習python的題目嗎
@cwpeng-course
@cwpeng-course 4 жыл бұрын
LeetCode 是一個大家常用的刷題網站,也可以用 Python 撰寫 ~
@disu4480
@disu4480 5 жыл бұрын
除法方程,结果数字不显示小数部分怎么办?
@cwpeng-course
@cwpeng-course 5 жыл бұрын
很可能是版本的问题。 如果是 Mac,安装最新版的 python 之后,使用:python3 档案名称 来执行程式喽。
@disu4480
@disu4480 5 жыл бұрын
@@cwpeng-course 谢谢您,
@chihan0529
@chihan0529 4 жыл бұрын
@@cwpeng-course 不好意思,我也遇到同樣的問題,安裝的版本是:3.9.1,但我是用windows系統,這樣該怎麼處理呢~
@哲維-z3r
@哲維-z3r 5 жыл бұрын
老師您好 如果把sum=0寫在for迴圈之中而不是在for之前就定義 跑出來的結果好像只會抓tuple最右邊的那個數來計算而已 為什麼會這樣呢? 謝謝~ PS 如果把sum=0在for之前就定義好就會跟老師結果一樣 def avg(*ns): for n in ns: sum=0 sum=sum+n print(sum/len(ns)) avg(3,14) avg(2,2,153) avg(1,4,-1,-8)
@cwpeng-course
@cwpeng-course 5 жыл бұрын
寫在 for 的裡面,等於是每次執行迴圈,sum 變數的資料都會重新設定成 0,所以不會有累加的效果,只剩下最後一個數字被留下來。
@林宛萱-p3u
@林宛萱-p3u 5 жыл бұрын
老師你好,請問有辦法把使用者輸入的資料存入清單中後,再用定義的函式去做計算嗎
@cwpeng-course
@cwpeng-course 5 жыл бұрын
可以啊 ~~~~~
@林宛萱-p3u
@林宛萱-p3u 5 жыл бұрын
@@cwpeng-course 請問一下要如何把使用者的input放進清單中??
@wei5225
@wei5225 5 жыл бұрын
@@林宛萱-p3u n1=int(input("請輸入數字一 : ")) n2=int(input("請輸入數字二 : ")) def add(n1,n2): print(n1+n2) add(n1,n2) 稍微寫一下,不知道這樣是不是你要的。
@林宛萱-p3u
@林宛萱-p3u 5 жыл бұрын
@@wei5225 謝謝你 不過我想要的是不管使用者想要輸入多少個值都可以做計算。 我後來有想出來了。
@yinchen7380
@yinchen7380 3 жыл бұрын
@@林宛萱-p3u 方便請教如何讓使用者自己輸入幾個值都可以的寫法嗎? 上完課想應用但怎麼都寫不出來
@shaly0815
@shaly0815 6 жыл бұрын
請問之後會有開Pandas 相關的教學嗎?
@cwpeng-course
@cwpeng-course 6 жыл бұрын
可能會有,還不確定。 目前正在按照規畫完成基礎教學。進階的主題諸如 Django、Database、或是 Pandas 都還在考慮中,所以暫時無法很明確地回答。不過既然提了,彭彭會特別留意盡量把這塊內容納入教學範圍 :)
@鄭坤-v1x
@鄭坤-v1x 5 жыл бұрын
@@cwpeng-course 老師 若有 "進階的主題" 不論 收不收費 請老師 通知我 ,一定參加 謝謝
@Johnny0o0_翔Z
@Johnny0o0_翔Z 3 жыл бұрын
請問有建議的網站讓新手練習題目嗎
@haoyun4884
@haoyun4884 3 жыл бұрын
www.runoob.com/python3/python3-examples.html
@cwpeng-course
@cwpeng-course 3 жыл бұрын
感謝 @Hao Yun 的分享 :)
@Johnny0o0_翔Z
@Johnny0o0_翔Z 3 жыл бұрын
@@haoyun4884 謝謝!
@陳柏霖-e2j
@陳柏霖-e2j 5 жыл бұрын
老師您好 def value(x=2,y=3): z=x**y return z print(value(4)) 我把x和y都預設了 程式印出來結果是4^3=64 為甚麼4是會代替x而y是用預設值 而不是4代替y,x是預設值呢? 如果我要讓4代替y的話要怎麼做 謝謝老師
@jupixie3717
@jupixie3717 5 жыл бұрын
預設是前面的參數,如果要y要寫y=4
@cwpeng-course
@cwpeng-course 5 жыл бұрын
感謝樓上的回答 :)
@Rilynwang1989
@Rilynwang1989 4 жыл бұрын
老师,平方和开方是相反的,两个*到底是平方还是开方。
@chi_huang
@chi_huang 4 жыл бұрын
** 前面放底數 後面放指數
@8princessv3
@8princessv3 4 жыл бұрын
是開次方。4**2次方=4*4 (4乘於4) 2**3次方=2*2*2(2乘於2再乘於2)
@cwpeng-course
@cwpeng-course 4 жыл бұрын
感謝 @黃啟桓 和 @Pei KON 的回應,就是這樣嘍 :)
@Villa1217
@Villa1217 6 жыл бұрын
老師這樣呼叫可以? def divide(n1,n2,n3): print(n1/n2+n3) divide(n2=10*20,n1=n2+2,n3=n1/10+n2)
@cwpeng-course
@cwpeng-course 6 жыл бұрын
看起來是不行呦 ~~~~
Python Module 模組的載入與使用 By 彭彭
25:14
彭彭的課程
Рет қаралды 194 М.
Python 函式基礎:定義並呼叫函式 By 彭彭
37:29
彭彭的課程
Рет қаралды 250 М.
Вопрос Ребром - Джиган
43:52
Gazgolder
Рет қаралды 3,8 МЛН
Python 變數與資料型態 By 彭彭
17:51
彭彭的課程
Рет қаралды 551 М.
The Roles of Frontend, Backend, and Database Explained by Example
8:58
走歪的工程師James
Рет қаралды 567 М.
Python 流程控制:迴圈基礎,while 迴圈、for 迴圈 By 彭彭
18:15
Python 可疊代資料型態 - Iterable Data Types By 彭彭
22:55
彭彭的課程
Рет қаралды 21 М.
Python 文字檔案的讀取和儲存 By 彭彭
30:15
彭彭的課程
Рет қаралды 227 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 259 М.
Python 回呼函式 Callback Function By 彭彭
22:07
彭彭的課程
Рет қаралды 20 М.