# 電算社資訊營
# 第一天
---
## 講師:昱山
---
## 目錄
* [輸入與輸出](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/8)
* [運算子](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/10)
* [變數](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/13)
* [Colab](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/15)
* [if判斷](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/16)
* [for迴圈](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/17)
* [while迴圈](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/18)
* [break & continuue](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/19)
* [巢狀迴圈](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/20)
* [函式](https://hackmd.io/@CRC-YUSHAN/H12FmPGLgg#/21)
---
#### 課程中歡迎舉手提問
#### 也可以選擇匿名提問

---
# Python
## 基本語法介紹
---
### 程式是什麼🤔
----
### A:程式是我們與電腦溝通的橋樑
---
#### 開學後的社課分為Python班與C++班

---
### Python 是什麼?
#### 是全世界最熱門的程式語言之一
#### 對初學者來說最友善
---
## 輸入&輸出
----
``` python
input() #輸入
```
```python
print() #輸出
```
----
```python
print("Hello, World!")
print(input())
```
---
### 開始實作吧
1. 按下 `Win` + `R` 鍵
2. 輸入 `cmd` 並按下確定
3. 在終端機輸入 `python`
---
## 運算子
----

----
#### 想想看:那要怎麼開根號呢🤔
#### $\sqrt{x}$
----
規則:處理括號→處理次方→先乘除後加減
---
### 比較運算

#### 結果:True 或 False
---
### 邏輯運算
#### `and`、`or`、`not`
---
## 變數
----
```python
>>> a = 4
>>> a += 1
>>> b = 3
>>> b -= 1
>>> a*b
10
>>>
```
----

###### 註:True 等同於 1; False 等同於 0
----
### 變數之間可以轉換
例如:
```
int("1") #將字串轉為整數
int(1.01) #將浮點數轉為整數
str(1) #將整數轉為字串
```
#### 大家可以用 `print()` 輸出看看
---
### 隨堂練習
#### 輸入攝氏溫度;輸出華氏溫度
##### 提醒:input()預設是輸入字串,所以要轉換呵
----
### 解答
```
print(int(input())*9/5+32)
```
---
## Colab
----

----
終端機只能打一行執行
colab 可以打多行執行
----
#### 註解格式
```python
#單行註解。
```
```python
'''
多~
行~
註~
解。
'''
```
---
## `if`判斷
----
```python
if 條件判斷:
程式
```
```python
if 條件判斷:
程式
else:
程式
```
```python
if 條件判斷:
程式
elif:
程式
else:
程式
```
※要有「:」與縮排(Tab)
----
#### 範例-三一律比大小
```python
a = int(input())
b = int(input())
if a > b:
print("a比b大")
elif a < b:
print("a比b小")
else:
print("a等於b")
```
----
### 注意
1. 「=」是設為,例如:`a = 3`
2. 「==」是等於,例如:`if a == 3:`
3. 一定要記得加上引號與縮排
---
### for迴圈
```python
for _ in range(次數):
程式
```
範例:
```python
for _ in range(10):
print("很重要")
```
----
#### _ 可以換成 i 或其它變數
#### 意義:執行第i次
```python
for i in range(5):
print(i)
```
#### 這樣會輸出什麼呢?
----

----

```python=
for i in range(1, 10 ,3):
print(i)
```
輸出:
```
1
4
7
```
----
### 結論 - i 不會碰到 b
---
### while迴圈
```python
while 條件:
程式
```
#### 意思:重複執行直到條件不成立
```python=
a = 20
while a > 10:
a -= 1
print(a)
```
---
## break與continue
----
```python=
for i in range(7):
if i == 5:
continue
print(i)
#輸出為0 1 2 3 4 6
#跳過5
```
```python=
for i in range(10):
if i == 5:
break
print(i)
#輸出為0 1 2 3 4
#5以後的數字不會輸出
```
---
## 巢狀迴圈
----
一直打相同的迴圈好麻煩呀
```python=
for i in range(1, 10):
print(1,"×",i,"=",1*i)
for i in range(1, 10):
print(2,"×",i,"=",2*i)
for i in range(1, 10):
print(3,"×",i,"=",3*i)
for i in range(1, 10):
print(4,"×",i,"=",4*i)
for i in range(1, 10):
print(5,"×",i,"=",5*i)
```
----
### 利用兩層迴圈
```python=
for i in range(1,9):
for j in range(1,9):
print(i,"×",j,"=",i*j) #會印出乘法表
```
---
## 函式
----
函式可以重複呼叫,
不用重打相同程式。
```python=
def 函式名稱(參數 1, 參數 2, ...):
一段程式碼
return 回傳值
```
{"title":"電算社資訊營第一天","description":"匿名","contributors":"[{\"id\":\"b831f9fa-52bb-4a09-bfbb-148e4fdadd0f\",\"add\":4929,\"del\":1122,\"latestUpdatedAt\":1755130809877}]"}