iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Odoo

30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用系列 第 3

【Day03】寫程式解決問題有很多步驟,那上個步驟的結果如何傳遞給下個步驟呢?

  • 分享至 

  • xImage
  •  

用一個箱子把 output 結果的數值 (value) 存起來,並遞給下個步驟當成 input,而給那個箱子命名 (name),即是最簡單不易搞錯的方式,而這個命名的箱子即是 變數 (variable)。

而常規操作即是查看裡面的數值,或是用另外的數值覆蓋箱子裡面的值。


文章架構

  • = 等號在程式裡叫 賦值 (Assignment)
    • += 是累加,跟賦值的取代不一樣
  • 再來更多的數值運算 (Operation)
  • (額外補充) 雖然模組用不太到,但一般程式常用:跟使用者互動 print() 和 input()

= 等號在程式裡叫 賦值 (Assignment)

初學者最容易犯錯的部分就是等號,電腦和數學上的等號符號意義有大不同。

舉個例子,x = 10,這個賦值有個順序,口訣如下

  1. 先把右邊的數值全部算出來 (也就是右邊會只剩下數值)
  2. 再把結果放到左邊的變數箱子

那麼 y = x +5 呢? 注意到 x 變數在右邊,所以規則是將它的值取出來, 口訣

  1. x + 5,x 在右邊,所以先把它的值取出來 (上面),也就是 10 +5,也就是 y = 15

  2. 再把 15 替換 y 變數的箱子,所以 y 變數箱子裡的數值就會是 15

https://ithelp.ithome.com.tw/upload/images/20240917/20163326psZ6Bkr1VP.png

再來看看上圖,幾個常用到會需要多注意的

  • a=b=c=0 也就是把 0 各別放進 a, b, c

  • y, z, r = 9.2, -7.6, 0,y 是 9.2,z 是 -7.6,r 是 0


+= 是累加,跟賦值的取代不一樣

x += 3 是 x 累加 3 的意思,也就是 x 裡面的值再加 3,而這個也等價於 x = x + 3

x = x + 3 這個有意思,有點奇怪但是按照上面 賦值的規矩就簡單了,先假設 x 原本是 10,照口訣演練一次

  1. x + 3 先算出數值,x 在右邊所以先把值取出來,也就是 10 + 3,也就是 x = 13

  2. 再把 13 替換 x 變數的箱子,所以 x 變數箱子裡的數值就會是 13

這的結果也就是,原本的 x 是 10,累加 3,變成 13 的意思


再來更多的數值運算 (Operation)

https://ithelp.ithome.com.tw/upload/images/20240917/20163326yHW3Tzelen.png

這邊提一些數學跟程式比較有差異的

  • * (乘), /(除) 跟數學符號稍微有些差異,要注意一下

  • X / Y = Z … W

    • // 也就是只取 Z (商),也就是 Z 是 X // Y

    • % 是相除之後的 W (餘數),也就是 W 是 X % Y

  • ** (次方) a 的 b 次方,電腦寫成 a ** b

  • 爾後的這些函數,皆可以用英文或 GenAI 很快得知用途,我就不贅述了


(額外補充) 雖然模組用不太到,但一般程式常用:跟使用者互動 print() 和 input()

https://ithelp.ithome.com.tw/upload/images/20240917/201633260pyoifnBvT.png

使用者會使用鍵盤輸入指令寫程式給電腦,而程式會透過電腦螢幕顯示結果給使用者,而這邊的 鍵盤輸入 及 螢幕顯示 分別為 input() 和 print() 函示

  • print() 會根據括弧裡面的各別算出數值並將結果顯示到螢幕上

  • input()會將括弧裡面的字串顯示在螢幕上,並且後面程式會暫停,等待輸入東西,像示 h = input(“你的身高是?“),電腦會顯示 你的身高是?,並同時暫停等待我們輸入,而我們輸入的結果就會 賦值給 h 變數


上一篇
【Day02】什麼是『寫程式』? 什麼最重要呢? 這些如何影響到下指令給 GenAI
下一篇
【Day04】演唱會門票的候補名單要怎麼表示? 那放棄和排候補呢?:有順序的序列 (串列 list)
系列文
30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言