# Hello World
###### tags: `python`
>本教學除非另外說明,否則都是以[Colab](http://colab.research.google.com/)作為示範。
>你也可以下載[PyCharm](https://www.jetbrains.com/pycharm/)。
>好用的Python學習網站:[W3School](https://www.w3schools.com/python/default.asp)、[SoloLearn](https://www.sololearn.com/home)
>自111年7月開始,可以用 [replit](https://replit.com/teams/join/cnkbretjrqdyvcpqqebbcurlkdyaxdhq-LinYeh) 加入Teams。
## Hello world
首先進入Colab,在框框裡面輸入`print("Hello World!")`,然後按播放鍵,這樣你的第一個程式就完成囉!

`print`就是「列印」的意思,在這邊,就是將括號裡面的字串給印出來。
`print`是一種「函數(式)」,就如同數學的`f(x)`那樣。輸入一個`x`,會有相對應的值出現。而此處,輸入的是一串字(稱作字串),輸出則是印出這串字。
試著將內容更換吧!也可以輸入中文哦!
## 換行
在很多程式語言中,換行會使用`\n`。當程式遇到反斜線`\`時,會將它視為某種指令,並不會直接將它印出來。而後面接的`n`代表「new line」,新的一行。所以`\n`就是在告訴`print`,此處要換行囉!
```python=
print("Hello\nWorld!")
# 輸出:
# Hello
# World!
```
`#`是Python作為「註解」的方式,當Python看到`#`的時候,不會執行它。
## Escape Character
除了「換行」,還有一些反斜線開頭的字元可以使用,我們將它稱作跳脫字元。
`\n` : 換行
`\t` : tab
`\\` : 斜線
`\"` : 雙引號
`\'` : 單引號
```python=
print("早餐店阿姨說\"帥哥,你的早餐好囉!\"")
# 早餐店阿姨說"帥哥,你的早餐好囉!"
print("早餐店阿姨說"帥哥,你的早餐好囉!"")
# 會報錯
```
在程式中,括號、引號等,通常都是「成雙成對」的。有左括號,就有右括號;出現一個雙引號,程式就會想找下一個雙引號在哪。
~~括號都有另一半了,我呢QQ~~
```python=
print("Hello\tApple\nHello\tBanana\nHola\tAmingo")
"""
執行結果:
Hello Apple
Hello Banana
Hola Amingo
"""
```
## end
在python中,`print`預設結尾自己加入換行`\n`,我們可以自訂這個結尾,例如:`print("some text ... ", end='')`
如此,結尾就會變成空的字串囉!
嘗試一下下列兩種寫法會產生什麼結果。
```python=
print("Hello, ")
print("world.")
print("Hello, ", end='')
print("world.", end='')
```
## sep
試著`print`下面兩種情形觀察他們的差異
```python
print('Hello a', 'Hello b')
```
```python
print('Hello a', 'Hello b', sep=',')
print('Hello a', 'Hello b', sep=',,,')
```
## Operator
運算符號在演算法設計上很常使用到,也就是小學學的「加減乘除」、括號、次方。還有兩個是取商數跟取餘數。
```python=
# 加法
print(1+1)
# output: 2
# 乘法
print(2*3)
# output: 6
# 除法
print(3/2)
# output: 1.5
# 減法
print(3-2)
# output: 1
# 次方
print(3**2)
# output: 9
# 取商數
print(31//5)
# output: 6
# 取餘數
print(31%5)
# output: 1
```
「次方」的符號是兩次乘法符號,`3**2`代表3的2次方;
「取商數」意思是整除幾次的意思,例如 `31//5` 代表,31除以5的商數;
「取餘數」就是除完剩下的餘數,例如`31%5`代表31除以5的餘數(=1)。
至於四則運算的規則跟一般都是一樣的,即「先乘除後加減」、「有括號先算」、「次方先算」,
若是不太確定運算順序,其實也可以直接將想先計算的部分括號起來,那麼必定會先算!
這裡要注意的是,跟剛剛印出Hello World不同,這次我沒有加上雙引號。
原因是因為,加入雙引號代表「字串」,而我們剛剛輸入的是數字運算,因此不用加引號。
但加引號並不會出錯!請試試看,若加入引號,輸出結果會有什麼不同?
### Exercise
```python=
試著利用 print,印出
「早餐店阿姨說"帥哥,你的餐點好囉"
明細:
品項 單價 總數 金額
蛋餅 25 25 ___
豆漿 15 30 ___
總共____圓。」<-- 金額直接用python幫你算~
# Hint : 使用不只一個print !
```
### Note
在Python 中,我們比較常使用單引號「`'字串'`」。