基礎程式設計 Week 1

前言

這裡是嘉義大學 111 學年度上學期基礎程式設計的解題筆記, 我會盡量以程式新手的視角來寫這份筆記。 若有各種問題,歡迎來私訊!

Sum of three numbers

  • 題目敘述:把三個數字相加

  • 解題思路:Python輸入 很方便,使用 input() 這個 函式 來取得 ,而取得的值是 一行的字,所以要用 int() 來將資料 轉換型別,並將他們 相加,最後 顯示 出來

    上面提到了很多專有名詞,就來讓我們慢慢瞭解!

    函式 就像是數學中的函數,而在程式中函式能讓你的程式碼重複使用,上述的 input() 是 Python 內建的函式!

    程式通常有輸入、也有輸出,python 中的輸入可以用 input();輸出可以 print(),而 printer 是印表機的意思,所以輸出通常又叫做

    指的是 right value= 右邊的值),與之對應的是變數名稱(variable),稱 left value,把右邊的值交給左邊的值就叫做指派(assign

    一行的字 其實是指 input() 的特性,它只會抓到 \n(換行前的所有字),並回傳 string)。 程式中有很多型別(資料的類別),int 代表整數(integer)、str 代表字串(string)、flaot 代表浮點數(也就是 小數)。

    程式中有數字,當然也會有四則運算( +, -, *, /

  • 程式碼:

Hi John

  • 題目敘述:輸入一人名,並在人名前面輸出 Hi
  • 解題思路:input() 抓到的是字,所以不用再轉換形態,而程式中要表示一個固定的字串可以用 "" 包住(python 也可以用 '',但 C++ ""'' 是不一樣的!)。print() 中可以放入很多值,並且記得要用 , 隔開!
  • 程式碼:

Square

  • 題目敘述:輸入一個整數,並輸出該整數的平方數
  • 解題思路:python 有很方便的語法(syntax),次方的運算只要只用兩個 ***)就可以了!
  • 程式碼:

Area of right-angled triangle

  • 題目敘述:給定一直角三角形的底和高,印出它的面積
  • 解題思路:三角形公式(底 * 高 / 2)帶入,要注意面積可能是小數,所以使用 除法/),而在 python 中兩個 ///)是指 整數除法(只會取得整數的
  • 程式碼:

Hello, Harry!

  • 題目敘述:與 Hi John 類似
  • 解題思路:數字有加減乘除,而程式中字串也有所謂的加法!若要在名字前面加上 Hello,就只要在前面用 + 串連字串就可以了!
  • 程式碼:

Apple Sharing

  • 題目敘述:有 n 個人,k 顆蘋果,求每人分到幾顆蘋果、剩幾顆蘋果
  • 解題思路:有整數除法外,程式中還有取模數(mod)的概念,而在數學上就是取餘數,python 用 % 表示。
  • 程式碼:

Previous and Next

  • 題目敘述:印出數字的下一個與上一個
  • 解題思路:白話就是 +1-1, 而整數做完運算若要跟字串一起輸出,就必須轉換形態!
  • 程式碼:

Two Timestamps

  • 題目敘述:計算兩個時間差了幾秒
  • 解題思路:timestamp 在資訊領域滿常出現的,意思是 時戳(也就是時間)。將時間都轉換成秒,再做相減(題目的第二段時間一定比第一段晚,所以不用考慮誰減誰)
  • 程式碼:

School Desks

  • 題目敘述:每間教室都是兩人一桌,三間教室需要幾張桌子?
  • 解題思路:每兩人一桌,未滿兩人也是一桌(思考看看要怎麼取得未滿的部分),而三間教室要分開算,最後再相加!
  • 程式碼:

結論

第一週是基本的輸入、輸出、以及資料形態的運算,算是寫程式的入門知識。

記得!有問題一定要詢問!

參考連結