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

結論
第一週是基本的輸入、輸出、以及資料形態的運算,算是寫程式的入門知識。
記得!有問題一定要詢問!