文科自學到現在路過! 謝謝老師非常有耐心的教學,真的讓我沒基礎的都跟上啦! 綜合前面幾支影片,想說用一個使用者輸入結合定義函式,結果反覆測試就摸索出來了,真的好感動~超謝謝老師的! while True: n=input("請輸入數字 ") n=int(n) def calculate(n): sum=0 for x in range(1,n+1): sum=sum+x print(sum) calculate(n)
程式小白來留言,感謝彭彭老師的指導,真的是小白也能輕易上手,以下是我試著把老師之前交的迴圈一起加入寫的程式, 感謝老師為我們帶來這麼棒的課程,剛開始覺得有點小無聊,但現在卻開始有小小的成就感,謝謝老師~ def calculate(max): sum=0 for x in range(max+1): sum=sum+x return sum nummer=int(input("請輸入一個數字:")) vaule=calculate(nummer) print("從1加到",nummer,"加總為",vaule)
老師,上了你這堂課我自己出個作業, 練習呼叫函式做九九乘法表, 下面是我寫出來的語法。 但我目前卡在想要簡化它, 請問老師有辦法用return 或單一迴圈簡化它嗎? 謝謝 ## 自我練習用函式印出九九成法表 def times(a,b): ans=a*b print(ans) # 呼叫函式 for l in range(0,9): value=times(1,1+l) for n in range(1,9): value=times(n+1,l+1)
澎澎老師您好我想請教關於平方和的程式,我寫了2個例子 例子.1 def sumofsquare_calculation(n): sum=0 for i in range (1,n+1): sum=sum+i**2 print(sum) n=int(input("n=:")) sumofsquare_calculation(n) 這程式可以透過我輸入n值之後呼叫sumofsquare_calculation(n)函式,再直接由函式中直接print結果 例如我輸入5可以出現以下平方和累增結果: 1 5 14 30 55 例子.2 def sumofsquare_calculation(n): sum=0 for i in range (1,n+1): sum=sum+i**2 return sum n=int(input("n=:")) result=sumofsquare_calculation(n) print(result) 但如果換成例子2我用return方式回傳結果到result的話 例如我輸入5,理論上結果應該跟例子1的答案一樣,但結果只有回傳1這個值,想請問老師我這例子2的程式是否哪裡有寫錯謝謝^^
感謝彭彭老師,很多概念對寫慣程式的人很簡單,但零基礎的就是需要反覆被提點才行,彭彭老師真的很知道零程式經驗的人的痛點,教學方式超有耐心,謝謝。
謝謝你的回饋,很高興對你有幫助哦 :)
文科自學到現在路過! 謝謝老師非常有耐心的教學,真的讓我沒基礎的都跟上啦!
綜合前面幾支影片,想說用一個使用者輸入結合定義函式,結果反覆測試就摸索出來了,真的好感動~超謝謝老師的!
while True:
n=input("請輸入數字 ")
n=int(n)
def calculate(n):
sum=0
for x in range(1,n+1):
sum=sum+x
print(sum)
calculate(n)
感謝你的回饋和分享,很高興你能夠融合學到的東西寫出自己的程式,這樣很棒 :)
按照老師教的結合int(input()) 寫出
def A():
n1=int(input("請輸入第一數字"))
n2=int(input("請輸入第二數字"))
B=0 #保存變量
for num in range(n1,n2+1):
B+=num
print(f"{n1} 到 {n2} 的和是 {B}")
A() #調用函數
這樣輸入兩個數就會自動相加了,話說老師真的蠻善於發現學生問題XDDD
非常感謝老師細心的教學 對於完全沒基礎的我來說很實用
此外 關於講解速度部分希望老師維持目前速度即可
現在的速度很適合邊聽+開VSC邊寫程式練習
以完全小白的的心得分享
第一次先專心看完+跟著寫一次可以很好的吸收
(寫的過程有邏輯不懂就暫停 想懂再繼續寫很重要)
希望大家都能一起學好~
謝謝你的回饋,我知道許多人會想用兩倍速播放 XDDD
但也因為有快速播放的功能,所以我也不會特別提高影片的講解速度,請你放心嘍 :)
回傳值那邊的概念實在是太清楚了,之前學別種程式語言的疑惑,今天終於釐清了,非常感謝!
謝謝你的回饋呦,很高興對你有幫助 :)
真的辛苦老師了
能夠如此清楚的解說
尤其對完全沒有程式基礎的人
特別有用
很謝謝您
謝謝你的回饋,加油 :)
程式小白來留言,感謝彭彭老師的指導,真的是小白也能輕易上手,以下是我試著把老師之前交的迴圈一起加入寫的程式,
感謝老師為我們帶來這麼棒的課程,剛開始覺得有點小無聊,但現在卻開始有小小的成就感,謝謝老師~
def calculate(max):
sum=0
for x in range(max+1):
sum=sum+x
return sum
nummer=int(input("請輸入一個數字:"))
vaule=calculate(nummer)
print("從1加到",nummer,"加總為",vaule)
讚讚,感謝你的回饋和分享 :)
非常的謝謝老師!在網上找到最清晰地講解了!!以後都看你的影片學了!🤗
謝謝你的回饋,很高興對你有幫助哦 🤗🤗
感謝彭彭老師的分享,讓我零基礎也能大概跟上老師的進度,拜託了學習程式對自己深深的自我懷疑,感謝老師
謝謝你的心得分享,一起加油 :)
这是我在油管上看的第四个关于python的教学视频 也是讲的最好的一个,清晰明了 感谢彭彭老师。
谢谢你的回馈,很高兴能对你有帮助哦 :)
超棒,過去10年所見最好的視頻教學,沒有之一。
謝謝你 :)
這一堂課好棒,講到中間的時候還是懵懵懂懂,但是聽到最後,
突然就知道在講什麼了,非常感謝彭彭老師。
謝謝回饋,能幫到你的忙我覺得很棒 :)
そう思います!!
看了老師您的教學影片對非本科幫助很大,感謝!!!
謝謝你的回饋,很高興對你有幫助 :)
非常謝謝老師講解得非常清楚,範例也循序漸進的方式增加變化,學習起來很簡單明瞭
不會,謝謝你的回饋 :)
謝謝老師的課程。
教學清楚且練習過程中發生了問題,老師也沒有剪輯。這樣一來,可以從解決的過程當中了解老師思考的歷程。
謝謝你的回饋,很棒的資訊,也很高興對你有些幫助 :)
一直很煩惱到底要在哪裡學python
後來找到老師的影片,簡單易懂的教學,對完全沒有基礎的我來說真的太受用了~
謝謝你
不客氣,也謝謝你的回饋 :)
@@cwpeng-course 真的很好感謝大大
老師,看你的教學,我終於懂了。好感動!
讚讚,很高興對你有幫助 :)
老師後面 開始用程式講解 講的超好 對我第一次了解def函式的方法很快就懂了!
謝謝你,也很高興對你有幫助 :)))))
感覺彭彭老師的線上教學比單純看書更容易懂。😀
哈哈哈哈,好哦 😀😀😀
真的教得很好👍
我雖然在學時期有學過,不過都忘光光了,最近有空就來學學,很輕鬆就想起以前學過的了
非常好的教程,超级详细。对了解def代码块编写非常的有用。
谢谢你详细的回馈,很高兴对你有帮助 :)
謝謝老師無私的教學,簡單易懂,如老師所說看太久真的要休息,不然前面吸收的會白費,感謝老師教學
不會呦 :) 嗯嗯,學習需要一些練習和沉澱沒錯 ~~~~
把最後的範例包裝成實際可用的小程式:
def calculate(min,max):
sum=0
for x in range(min,max+1):
sum=sum+x
print(sum)
min=input("請輸入數字1:")
min=int(min)
max=input("請輸入數字2:")
max=int(max)
calculate(min,max)
以後彭彭老師再繼續用累加舉例直接套這個程式就好了 XD
哈哈哈,很棒的分享哦,謝謝 :)
感謝分享,在看完的時候就在思考類似的方式看能不能讓使用者輸入想計算的頭跟尾
另外想請問一下,若是我在 for 迴圈中 多加入一個sum=0 變成以下
def calculate(n1,n2):
sum=0
for x in range(n1,n2+1):
sum=0
@@Rshu-xie 因為若你多加一行 sum=0,代表每跑完一次for 迴圈
sum又會被重新定義為0,故最後的答案其實為0+n2(也輸入的max),所以會有不同的結果!!!!
最近看到影片也開始學,最後面的地方我會想要寫
calculate(int(input("請輸入數字1:")),int(input("請輸入數字2:")))
這樣會讓整段程式簡潔一點
聽過那麼多教程式的,就你的我聽得懂,我終於通了! 謝謝老師!
很高興對你有幫助 :)
@@cwpeng-course 希望老師可以示範一些有excel跟python 字串處理篩選的課程!因為最近剛好在研究xD
感謝老師教return!!!
想好久都搞不清楚
幸好有看到老師的影片😭😭😭❤️
哈哈哈,好哦,很高興對你有幫助 :))))
老師講的超清楚~上課方式感覺很輕鬆也很舒服。
謝謝你的回饋呦 :))
謝謝彭彭老師!教的好詳細~
從都到尾一步一步跟著做 感覺比較清楚了!
謝謝你的回饋和支持呦,希望持續對你有幫助 :)
前面介紹蠻抽象的,後面範例看完就懂了,感謝教學,學到很多。
他故意的
講得太好了,終於懂得return了 謝謝!!!
哈哈哈,好哦,很高興對你有幫助 :)
辛苦老師精闢教學,讓我以前都不太懂的函式得到救贖,謝謝老師 😁
函式真的是很多新手的坎,很高興對你有幫助哦 :))))
老師今天戳到笑穴嗎XD 感謝老師的課程~
沒有哪,內容太長惹,我自己講課也需要放鬆 XDDD
看了影片才知道原來return是這樣,縮排也是有意義的,剛學python的新手(非本科),感謝彭彭講解,打算把影片看完再看書比較不會無聊
很高興對你有幫助哦 :))))
老師:我們要來寫"一點點"的程式讓大家感受一下 (笑),再度休息 30 秒XDDDD
看到這裡真的笑死
也感受到老師的用心,言簡意賅地講解函數的定義真的不簡單。
之前也寫過Matlab的函數function,
都是要建立各個不同的輸入,好讓函數(式)運作得到相對應的輸出值。
都讓我回想起學生時代,老師介紹函數時所使用的示意圖(定義域(自變數)→值域(應變數))了
再次感謝老師願意分享Python知識!
哈哈哈,謝謝你有趣的回饋,創造了我的一天 XDDD 也感謝你的經驗分享 :)
老師非常感謝,您的課程對初學者的我非常有幫助!!!
謝謝你的回饋,很高興對你有幫助哦 :)
謝謝老師 從這個影片學到完後 可以做最簡單的帳號密碼系統
讚讚,能實際運用我覺得很棒 :)
return 那邊講解得很好,謝謝彭彭老師。
謝謝 :)
老師您好,我是一位完全沒有程式方面經歷的初學者
非常感謝您願意提供這樣的免費資源,給像我這樣的人學習
這陣子把您目前 python 的課程學習,並複習了幾天
學習完這些語法並了解大約的使用方法後
我應該怎麼更深入的學習、 使用他們呢
這是我想請教老師的,謝謝您 !
找出一個你覺得有趣的主題,開始用程式做一些有意義的事情,在做的過程中努力解決所有碰到的問題,大致上是這樣的方向會讓你進一步提升能力。
謝謝老師的分享。每天都看一遍 廣告都把他看完
謝謝你的回饋和支持哪 :)
听同学推荐过来的,听了三四节课发现真的太棒了,越听越上瘾,爱了,彭彭老师
感觉很不错,希望你能顺利学习完毕 :)
感謝!幫我釐清了print()和return的差別。
讚讚,很高興對你有幫助 :)))
原來return 和內部涵式print不一樣。老師教得真的很優秀。教師節快到了。我要提交束脩(咖啡)
哈哈哈哈,謝謝你呀,那我就收下惹 XDDDDD
@@cwpeng-course 好!!!!!!!!!!!!!感謝老師
感謝老師的教學,淺顯易懂,新手覺得感恩!
很高興對你有幫助 :)
老師講解好詳細 清楚明白 真的很感謝!
也謝謝你一直告訴我你的想法和心得 :)
第一次學函式觀念總算更清楚了! 為了回報大大分享,把全部廣告都讓它全部跑完了:)
哈哈哈,謝謝哪 :))))) 也很高興對你有幫助 ~~~~~
講解得很清楚,太感謝了
謝謝你的回饋 :)
我看了網上一堆教學都搞不懂的return竟然這裡悟了…老師講解的好好啊!訂閱點下去了,希望能產出更多好教學!
讚讚,很高興對你有幫助 :)
这老师太开心啦🎉
XDDDDD
一直都是1.5 , 1.25倍速播放彭彭老师的教学视频,突然正常速度听了一下,感觉很奇妙 哈哈
其实很多朋友都跟我说要用 1.5 倍取得正常速度 XDDDD
小弟覺得對於新人來說,老師的速度非常好,且中間有笑點,不要再加快語速,希望保持這種速度。感謝!
def get_normal(video_spd):
video_spd*=1.5
return "normal"
1.75x XD
我以為只有我用1.5倍聽
老師,您好!首先,非常謝謝老師的用心教導,聽了您的介紹真的非常的仔細!受益良多~聽了老師的課真的會一直想聽下去!不過有一件事情想請教老師,就是有哪些地方能夠練習老師所教的這些基本語法呢?
市面上有很多程式解題系統可以找找看,或許可以試試看 WeHelp Coding 這個解題系統來做最基礎的解題練習。
@@cwpeng-course 好的!非常謝謝老師~我會再去看看的
重新複習再次打好基礎!!,也再次感謝老師
感謝彭彭老師的用心教學! 辛苦老師了!
我和sc st同感 看了很多教程还是不懂 ,最后终于在你这里理解return的含义了 ,谢谢老师
谢谢你的回馈,很高兴对你有帮助 :)
不懂了就回看一下,讲的好棒!
谢谢 :)
老師說這堂會累累的很幽默,真的一開頭要吃零食才上得下去! 謝謝老師淺顯易懂的教學! 下面同學說要用1.5倍速度也覺得好幽默哈哈哈。之前都沒想到,下次來試試看
哈哈哈哈,好哦,謝謝你和我分享這麼多想法 :)
謝謝作者的製作。
不客氣 ~
谢谢老师,简单易懂,学得很欢乐
哈哈哈,好哦,谢谢你的回馈
謝謝您的錄影教學,還好可以重複看,若是學校上課,1次鐵定不懂 被當囉 !!連3天am4:30上課 ,總算懂了....心想BB band 的買進賣出 應該 可以 在此 完美演出....源此...學習的渴望湧起,,再次 謝謝您 的教學功德
不會,謝謝你的回饋,也很高興對你有幫助 :)
我程式從大學到研究所都在用
雖然不是用Python
但從沒搞懂過函式到底在幹嘛
今天第一天搞懂 感謝彭彭!
謝謝分享和回饋,很高興對你有幫助 :)
謝謝彭彭的影片,學到很多!!!!
太好了!!!
真的很好懂耶,沒什麼相關背景,但是老師講解完工具之後,我就知道老師要寫出什麼東西,直接暫停影片就寫得出來差不多XD
哈哈哈,你也蠻厲害的壓,感覺很有潛力 :)
這個是我看過最清楚的教學,就算不太懂國語也聽得明白
謝謝你的回饋,聽不太懂國語也能聽明白我也覺得蠻神奇 XDDD
# 函式基礎
# 函式: 程式區塊 程式碼包裝在一個區塊中,方便隨時呼叫使用
# 定義->呼叫 要先定義(建立)函式,然後才能呼叫(使用)函式
# 函式 基本語法
# def 函式名稱(參數名稱):
# 函式內部的程式碼
# 程式範例
# 定義一個印出 Hello 的函式
def sayHello():
print("Hello")
# 呼叫上方定義的函式
sayHello()
# 定義可以印出任何訊息的函式
def say(msg): # 參數的名字為msg
print(msg) # 把參數的資料印出來
say("Hello Funtion")
say("Hello Python")
# 定義一個可以做加法的函式
def add(n1,n2):
result=n1+n2
print(result)
add(3,4)
add(7,8)
# 回傳值
# 基本語法
#def 函式名稱(參數名稱):
#函式內部的程式碼
#return # 結束函式, 回傳None
#def 函式名稱(參數名稱):
#函式內部的程式碼
#return 資料(可以是數字,字串,布林值,物件) # 結束函式, 回傳[資料] (回傳值)
# 程式範例
# 函式回傳 None
def say(msg):
print(msg)
return
# 呼叫函式,取得回傳值 回傳值是看return後面的東西 跟def裡面的程式碼無關
value=say("Hello Function")
print(value) # 印出None
def say(msg):
print(msg)
return "執行完畢"
value=say("Hello Function")
print(value) # 印出執行完畢
# 函釋回傳字串 Hello
def add(n1,n2):
result=n1+n2
return "Hello"
# 呼叫函式,取得回傳值
value=add(3,4)
print(value) # 印出 Hello
# 函式回傳 n1+n2 的結果
def add(n1,n2):
result=n1+n2
return result
# 呼叫函式,取得回傳值
value=add(3,4)
print(value) # 印出7
# 定義函式
# 函式內部的程式碼,若是沒有做函式呼叫,就不會執行
def multiply(n1,n2):
print(n1*n2)
return n1*n2
# 呼叫函式
value=multiply(3,4)
value2=multiply(10,8)
print(value)
print(value2)
value3=multiply(3,4)+multiply(10,8) # (3*4)+(10*8)
print(value3)
# 函式可用來做程式的包裝: 同樣的邏輯可以重複利用
def calculate(n1,n2):
sum=0
for n in range(n1,n2+1):
sum=sum+n
print(sum)
calculate(1,10)
calculate(0,20)
感謝紀錄 ~
看不懂看還是給老師個讚!
XDDDD 希望後來有看懂了 ~~~~
真的真的真的 教的太好了! 感谢!
謝謝你的回饋 :)))
謝謝老師的教學😁
不客氣 :)
彭彭老師,謝謝你非常棒的教學,造福我這個從沒學過程式的人。🥰
舉手發問:ctrl+/是comment的快速鍵,那請問有快速鍵可以「解除comment」嗎?
不會,有幫助就好 :)
把已經 comment 的程式碼選起來,再按一次 ctrl+/ 就可以了哦 ~
@@cwpeng-course 原來這麼簡單,我都沒發現。謝謝你的耐心回答。😄
老師非常清楚 感謝
謝謝你 :)
这一集彭彭老师格外不同啊,情绪似乎特别高,抑制不住地开心,咋了是不是有什么好事啊?
我也忘记了当时发生了什么事情了 XDDD
感謝彭彭老師的影片
想問一下 24:18
Value=Multiply(3,4) 這裡不是把 Multiply(3,4) 的數值/結果儲存到變數"Value"內嗎?
還是這裡只是把Multiply(3,4)的結果顯示出來所以Value一直是None
因為在老師之前的影片
我沒有理解錯的話可以把變數定義
e.g. Value=xxxxxxx
這樣應該是可以的吧?
所以有點理解不到
Value=Multiply(3,4) 會呼叫 Multiply 函式,並取得函式的回傳值。所以 Value 的值要看函式中定義的回傳值是什麼。
感謝老師 0基礎修計算機概論有點吃力還好有這個影片
讚讚,加油!
謝謝老師分享。受益良多
不會呦,謝謝你的回饋 :)
非常感謝大大無私分享,彭彭老師好人一生平安
怎麼講這句好像在色情論壇的推文XD
XDDDDDDDD
有一個問題請教老師:在影片內容的31:20當中,跟著老師在自己電腦學著寫程式如下:
def multiply(n1,n2):
return n1*n2
value = multiply(3,4) + multiply(10,5)
print(value)
印出來的結果是
12
50
62
......... 多出了12, 跟 50
想請問老師:我哪邊有出錯嗎?
應該是你的函式中還有其他程式碼沒有刪除吧 ~
請問老師為什麼我打
class Solution(object):
def merge(self, nums1, m, nums2, n):
nums1[m:] = nums2
nums1.sort()
merge(0,[0],0,[1],1)
你的 merge 定義在 class 裡面,要先建立物件實體,才能使用物件實體呼叫方法。
感谢彭彭老师的课程受益匪浅。请问,呼叫函式value=add(3,4)这个写法,与呼叫函式直接用add(3,4)相比,执行return时是必须用前者吗?感谢!
不客气 :)
是的,你的描述是对的呦 ~
老師的影片比其他的簡單易明,有時在嘗試的時候遇到問題也會再來看多幾次。
但目前我有一個問題解決不到,想請教老師,
情況如下:
我定立了一個class用作記帳,有"初始化行式輸入人名,入賬,顯示結餘" 3個功能,能正常使用。後來想做一個能重複使用/可以輸入指定資料模組作開戶口跟入賬用,遇到以下問題:
1. 29/12/2019解決了問題1
2.如果把def分開當模組來使用,因為我的模組中使用了主檔案的class的功能,會有錯誤嗎?
多謝你每段影片的教學
很高興你有解決問題,這樣就好 :)
第二個應該是不行的,必須要適當地引入嘍 ~
视频里老能听到老师的笑声,感觉课程真的轻松,大陆的课听得我压抑
哈哈哈哈,这个回馈我觉得好有趣 XDDDD
老師你好,謝謝老師的教學,很清楚也很詳細(新手看了很多線上課程後終於在這裡得到救贖),我在學習的同時也會做輸出,希望可以透過自己練習把內容記得更清楚,同步我也會將筆記放在我自己的網站中,並在筆記裡標注課程內容來源是老師的影片並附上連結,不知道老師覺得妥不妥當呢?
謝謝你的回饋呦,很高興對你有幫助 ~ 有附上影片來源就沒問題哦,謝謝 :)))
@@cwpeng-course 謝謝老師!
請問老師 ,我用jupyter notebook 輸入
def caculate(n): #程式包裝,帶入參數n
sum=0
for i in range(1,11):
sum=sum+i
print(sum)
caculate()
為何出現,所有計算結果而非55
1
3
6
10
15
21
28
36
45
55
謝謝
print(sum) 的縮排要再往左邊一段,這樣才會在迴圈結束之後印出來。
第一次看澎澎老師的影片,講解得很清楚,謝謝老師
不會呦,謝謝你的回饋 :)
謝謝彭彭老師的教學,學到很多。請問全部選起來要一起縮排要按什麼?
Tab鍵,鍵盤最左邊
@@c3c386 原來如此,謝謝🙏
感謝 @c3 c3 分享 :)
彭彭老師,為什麼在15:12的範例中,既印出了hello function也印出了none;但砸15:21的範例中只有hello而沒有7?
我試著在第一個範例的return後加了字符串,結果印出了兩個字符串。這說明return不能繞過字符串,但可以繞過程式數字嗎?
如影片中說述,在函式中印出 hello,回傳 None,在函式外印出 None。
另外一個在函式中並沒有印出東西,直接回傳 hello,在函式外印出 hello。
你加了字串,就是在函式中印出 hello,回傳你加的字串,在函式外印出你加的字串。
老師好~想請問影片14:41這邊的語法
Q1:為何要寫value=~~~這部分才會遇到return回傳的問題呢 就是不寫出 “變數(?)” 等於 參數 就不會有retun None的問題呢?
Q2:value=某某 定義value這樣的變數用意在哪裡呢?
如下
def multiply(n1, n2):
print(n1*n2)
# 程式會自動補上 return None
value = multiply(7, 15)
print(value)
答案:105, None
def multiply(n1, n2):
print(n1*n2)
multiply(3,4)
print(multiply)
答案:12
第一段程式 value 會接收函式的回傳值,但函式的回傳值是 None,就印出 None。第二段程式函式一樣回傳 None,但我們沒有去做任何接收的動作,12 是函式內部印的,最後一行印出 multiply 應該是一個函式。
@@cwpeng-course 原來 沒有接收的動作就不會回傳東西
@@温辰瑋 概念上還是會回傳哦,只是既然沒有接收的動作,回傳的資料也就直接消失了。
牛逼!彭彭老师!通俗易懂,小时候买了十多本黑客书,不如听你讲俩小时T_T
哈哈哈,谢谢你的回馈哪 :)
優優優優質頻道
哈哈哈哈哈 XDDD
真的很棒的教案謝謝老師
謝謝你的回饋 :)
#定義函式
#函數內部的程式碼,若是沒有函數呼叫,就不會執行
# def multiply():
# print(3*6)
# def multiply(n1,n2):
# print(n1*n2)
# def multiply(n1,n2):
# print(n1*n2)
# return
# def multiply(n1,n2):
# print(n1*n2)
# return 10
# def multiply(n1,n2):
# print(n1*n2)
# return n1*n2
# def multiply(n1,n2):
# return n1*n2
#呼叫函示
# multiply()
# multiply(3,3)
# multiply(3,12)
# value=multiply(3,4)
# print(value)
# value=multiply(3,4)
# print(value)
# value=multiply(3,4)
# print(value)
# value=multiply(3,4)+multiply(10,5) #(3*4)+(10*5)
# print(value)
#函數的包裝
#函式可用來做成程式的包裝:同樣的邏輯可以重複利用
# def calculate(n1,n2):
# sum=0
# for x in range(n1,n2+1):
# sum+=x
# else:
# print(sum)
# calculate(10,12)
# calculate(12,12)
為什麼我的搜不到Value這個詞 導致執行都只有顯示 PYTHON XX.PY
@@pingpeter3963
def multiply(n1,n2):
return n1*n2
value=multiply(1,3)
print(value)
如果執行這樣呢~
感謝整理 :)
好詳細.👍👍
👍👍
影片介紹的很好懂 ,有字幕會更好,每次廣告都有看完希望有些幫助 b
怎麼這麼好,謝謝哪 :) 字幕我會再想想辦法,希望未來有足夠的資源呀 @@a
請問彭彭老師:
註解家中文 會出現錯誤 SyntaxError: Non-ASCII
上網爬文說在寫程式開頭前加# encoding: utf-8 或 #!/usr/bin/python
# -*- coding: -*- 就可以註解中文, 請問是如何辦到不用寫就可以支援中文, 因教學中沒開到老師有加.
謝謝.
是 Python 版本的問題,使用 Mac 的話執行時請輸入:python3 檔案名稱
老師,上了你這堂課我自己出個作業, 練習呼叫函式做九九乘法表, 下面是我寫出來的語法。 但我目前卡在想要簡化它, 請問老師有辦法用return 或單一迴圈簡化它嗎? 謝謝
## 自我練習用函式印出九九成法表
def times(a,b):
ans=a*b
print(ans)
# 呼叫函式
for l in range(0,9):
value=times(1,1+l)
for n in range(1,9):
value=times(n+1,l+1)
九九乘法表在基礎邏輯上就是需要兩個迴圈,沒有太多簡化的空間哦 ~
澎澎老師您好我想請教關於平方和的程式,我寫了2個例子
例子.1
def sumofsquare_calculation(n):
sum=0
for i in range (1,n+1):
sum=sum+i**2
print(sum)
n=int(input("n=:"))
sumofsquare_calculation(n)
這程式可以透過我輸入n值之後呼叫sumofsquare_calculation(n)函式,再直接由函式中直接print結果
例如我輸入5可以出現以下平方和累增結果:
1
5
14
30
55
例子.2
def sumofsquare_calculation(n):
sum=0
for i in range (1,n+1):
sum=sum+i**2
return sum
n=int(input("n=:"))
result=sumofsquare_calculation(n)
print(result)
但如果換成例子2我用return方式回傳結果到result的話
例如我輸入5,理論上結果應該跟例子1的答案一樣,但結果只有回傳1這個值,想請問老師我這例子2的程式是否哪裡有寫錯謝謝^^
你的 return 寫在迴圈中,所以迴圈的第一圈就會執行 return,然後函式就結束了,沒有機會把迴圈全部跑完。
要寫 return 的話,要寫在迴圈的外面 ( 注意縮排 )。
@@cwpeng-course 原來如此,我了解了,謝謝彭彭老師講解
Dear老師 希望能夠再給我一些建議
問題一.
在4月中有想做一個模擬雙目視覺測距的程式,放到作品集再去應徵演算法工作
這題目是可以應用在車用ADAS距離偵測演算法的領域
但是過了快兩個月,做到一半還沒完成,我不知要再給自己半個月的時間,自學研究
還是要請會做這個題目的人來教我比較好?
問題二.
我其實不算會寫程式,只是從網路上打關鍵字找到程式碼回來改成想要的而已
不會改的,就再找類似的程式來參考試圖理解,仍無法解決就上網問怎麼寫
請問這是個好的學習方式嗎? 我是原本做光學的想跳演算法的領域,
從驗證光學元件性能的時候開始接觸程式,也知道學程式可以解決很多問題
不知您再聽完我的描述,認為我適不適合繼續學習演算法程式?
1.
演算法的工作是需要工程師自行發展出適合公司使用的演算法,需要很紮實的程式功力,如果你的專案主要都是套用別人的程式,比較少自己開發的部分,就比較適合應徵偏應用的職位。
2.
同上,演算法的工作會需要能夠從無到有研發新邏輯或程式流程的工程師。入門或轉職者通常比較適合先往應用程式的方向找工作,會比較順利。
超感謝,努力學習中
不會呦,希望對你有幫助 :)
老師,請問一下 回傳值的問題
def say(msg):
print(msg)
return
v=say("hola")
print(v)
-
結果是- hola(來自函數print執行結果)-none(來自於命令return的結果)
-
不過有兩個地方邏輯,不太清楚,想請問老師一下
1."v=say("hola”)”,這裡的v,我們不能視之為將hola值指派給v嗎?
像是v=hola ,為什麼hole這個字串會直接被印出來,而不是指派給變數v呢?
還是這就是規定,記住就好呢?
2.會產生回傳值的狀況,是將呼叫函數指派給變數後,再列印該變數
才會出現的狀況嗎?
PS.經過老師講解,第一次覺得原來程式這麼親切XDD
1. 不行視之為將 hola 指派給 v。hola 被印出來是函式裡面的 print 做的。
2. 函式呼叫就會有回傳值,指定給變數只是把回傳值記錄起來。
謝謝老師的解答喔!!
我有些頭緒了,是不是下面這樣的邏輯呢??
-
v=say("hola")
print(v)
-
運行這段程式碼的邏輯
step1.先跑say("hola")--->得出 hola 備註:因為程式要由右向左看
step2.運行完後,再跑v=hola
step3.最後列印出v----->hola
say("hola") 會怎麼運作,得看 say 函式中寫的程式碼。
v 要看 say 函式中的程式碼的回傳值是什麼。
的確,我也有同樣的邏輯疑問,以Water的例子來說:
不論寫【v=say("hola")】(前者)或單純呼叫【say("hola")】(後者),程式執行的結果竟然是相同的(都會跑出hola)?其實就邏輯而言前者跑出這個結果不甚合理。因為前者的動作,照理講只是【我在設計一個名為v的變數內容,但我還沒有要把v印出來】(所以不合理),而後者的動作,叫做【呼叫say("hola")】這個在前面已經完成定義的函式(所以合理)。在原本想法,前者應該要「雖然系統程式內部有執行,但不會秀出來。」(概念就像def完但沒有呼叫一樣)
而現在這個比較違背邏輯的現象我只好這樣解讀:【v=say("hola")】這個看起來只有一條的指令,實際卻做了兩個指令,一個是【執行呼叫say("hola")】、一個是【指派名為v的這個變數,返回前面函式定義的return】。
基本它根本不管你是寫【v=say("hola")】、【v=say("hela")】還是【v=say("help")】,它總之只會傳回return要它帶出來的內容。只有在return後面寫的是參數msg時,它才會去看【v=say("xxxx")】的xxxx到底是寫了什麼,進而回傳xxxx。這邊有個邏輯同樣必須釐清,就是當【return msg】 + 【v=say("xxxx")】 + 【print(v)】得到兩行xxxx,第一行的xxxx是【v=say("xxxx")】中的【say("xxxx")】效果、第二行的xxxx是【return msg】的效果。
感謝老師的指導,在寫判斷平方根的腳本時,沒想到else放在for的迴圈會得到一堆判斷不是平方根的訊息,看來邏輯要想清楚
是阿,直接把 else 放在 for 迴圈裡確實不是我們要的結果,想清楚就會有感覺了 :)
我放在裏面直接報:SyntaxError: invalid syntax
請問老師,這個邏輯是因為要把列表裏面的所有資料都跑一遍,if判斷式都為False之後,再執行for回圈中的else嗎?
終於了解def在搞甚麼了!!謝謝老師
讚哦!不會 :)
想請問,最後程式包裝可以把定義包裝起來嗎?
可以哦 ~
讲的真好,谢谢老师。
:)
老師您好 請問變數與參數 定義與宣告 差別是什麼?
變數就是獨立可以儲存資料的空間。
參數是和函式搭配,讓我們可以在呼叫函式的時候,輸入不同的資料。
定義函式,宣告變數。
就比較類似的概念,都是指要用一個東西之前,要先建立才能使用。
@@cwpeng-course 謝謝老師
想請問以下公式
def greeting(name):
print(“hi”,name)
return
a=greeting(Eric)
print(“3”,a)
為什麼答案會是
hi Eric
3 none
呢?
不是應該會先執行”3” 再執行a嗎?
我的邏輯會是
3
hi Eric
none
還請老師幫我解惑了!
執行到第四行 呼叫函數 就會輸出 hi Eric
此時return none 所以 a=none
接著你輸出 3 ,a(=none)
感謝 @Jia Luo 的回應呦 :)