講者 : 邱妍瑛
日期:2019 / 12 / 11
程式語言有很多種
#include <iostream>
using namespace std;
int main() {
cout << "Hello! World!";
return 0;
}
print('Hello World')
使用者輸入:
輸出:
#輸出格式
姓名:
學號:
總成績為:
平均為:
使用者輸入:
輸出:
輸入
變數
資料型態
運算子
輸出
Variable
在 Python 中,變數像是標籤一般,
將各種型態的資料貼上標籤,方便之後使用。
變數
資料 A
名稱
變數
另一個名稱
資料 B
例如我們設這個變數為 pet,
內容則是一個字串 'Kitty'。
pet = 'Kitty'
利用 = 將資料放進變數裡
Pet
'Kitty'
使用者
Python
pet = 'Kitty'
pet = '小黑'
既然是「變」數,代表我們可以改變它的內容:
一個標籤只能貼在一個內容上,所以 pet 就變成 '小黑' 了
'小黑'
Pet
'小黑'
使用者
Python
Basic Data Type
資料型態決定了
資料將佔用的記憶體空間大小、
以及程式該如何處理資料。
int | 12 |
float | 16 |
str | 21 |
bool | 12 |
資料型態 | 佔用記憶體大小 |
---|
資料型態 | 名稱 | 例子 |
---|---|---|
int | 整數 | 1, 2, -1, -2 |
float | 小數 | 0.1, 0.2, -0.1, -0.2 |
str | 字串 | 'abc', "abc" |
bool | 布林值 | True, False |
complex | 複數 | 1 + 2j, 3 + 4j |
要被單引號或雙引號包起來
以下這些都是 str 型態:
'abc', "abc"
'123', "123"
'0.1', "0.1"
'True', "True"
第一個字母要大寫
只能表示對(True)或錯(False)
通常用於條件判斷
'123'
123
int('123')
字串
整數
強制型態轉換
'123'
123
str(123)
字串
整數
強制型態轉換
Input
讀進來的東西是一個 String
因此可藉由剛剛提到的強制轉型來做型態轉換
input() #直接輸入
input("請輸入姓名: ") #帶有提示的輸入
num = input("請輸入一個數字: ") #存進變數
num = int(input("請輸入一個數字: ")) #強制轉型
num = eval(input("請輸入一個數字"))
將 「請輸入姓名:」
直接輸出到螢幕上
a = input('請輸入姓名: ')
使用者輸入的「Yan」
assign 到 a 這個變數中
請輸入姓名:
Yan
使用者輸入:
name = input("請輸入姓名: ")
num = input("請輸入學號:")
grade1 = int(input("請輸入成績1: "))
grade2 = int(input("請輸入成績2: "))
grade3 = float(input("請輸入成績3: "))
Output
a = 1
b = 2
print('show a and b: {}, {}'.format(a, b))
str.format(args1, args2, ...)
我們可以藉由這個功能來格式化輸出
show a and b: 1, 2
a = 1
b = 2
print(a ,b)
Arithmetic operator
名稱 | 算術運算子 | 例子 |
---|
加 | + | |
減 | - | |
乘 | * | |
除(浮點數) | / | 4/2 結果為 2.0 |
除(整數) | // | 9//5 結果為 1 |
次方 | ** | 2**3 結果為 8 |
取餘數 | % | 7%5 結果為 2 |
輸出:
all = grade1 + grade2 + grade3
avg = all//3
先算出總分跟平均:
輸出:
print("姓名為:", name)
print("學號為:", num)
print("總成績為: {}".format(all))
print("平均為: {}".format(avg))
然後輸出,可利用剛剛有提到的格式化輸出:
#輸出格式
姓名:
學號:
總成績為:
平均為:
不要偷偷翻前面呦
這樣才會進步啾咪
使用者輸入:
輸出:
#輸出格式
姓名:
學號:
總成績為:
平均為:
name = input("請輸入姓名: ")
num = input("請輸入學號:")
grade1 = int(input("請輸入成績1: "))
grade2 = int(input("請輸入成績2: "))
grade3 = float(input("請輸入成績3: "))
all = grade1 + grade2 + grade3
aver = all//3
print("姓名為:", name)
print("學號為:", num)
print("總成績為 {}".format(all))
print("平均為 {}".format(avg))
Lab - 1 完整程式碼:
使用者輸入:
判斷後輸出:
使用者輸入:
判斷後輸出:
輸入
流程控制
輸出
flow control
if 條件:
成立時執行的程式片段
elif 條件:
上面 if 不成立且條件成立時執行的程式片段
else :
以上都不成立時執行的程式片段
if 條件式1:
blabalbla
blabalbla...
elif 條件式2:
blabalbla
blabalbla...
# 上述條件式都不成立執行
else:
blabalbla
blabalbla...
if 的執行區塊
else 的執行區塊
elif 的執行區塊
while playing:
for event in pygame.event.get():
if event.type == pygame.QUIT:
playing = False
這就是縮排
if temp >= 25:
if temp < 33:
print("穿短袖")
else:
print("太熱了不出門")
else:
print("穿長袖")
使用者輸入:
temp = int(input('請輸入氣溫:'))
不要偷偷翻前面呦
對我就是在說你
使用者輸入:
判斷後輸出:
temp = int(input('請輸入氣溫:'))
if temp >= 25:
if temp < 33:
print("穿短袖")
else:
print("太熱了不出門")
else:
print("穿長袖")
Lab - 2 完整程式碼:
讓使用者輸入5個分數,
用串列存放分數,
然後計算串列中元素的總和並輸出總分。
#input
請輸入成績 1 :
請輸入成績 2 :
請輸入成績 3 :
請輸入成績 4 :
請輸入成績 5 :
#output
總分:
偷吃步:可使用內建函式 sum() 來算總分
list
[1, 'Yan', 2, 'Erica']
[2, 'Erica', 1, 'Yan']
name_list = ['Yan', 'Erica', 'oneone']
empty_list = []
another_empty_list = list()
在 list 名稱後面使用中括號 [ ]
加上想取得元素的位置 ( index )
alphabets = ['a', 'b', 'c']
print(alphabets[1])
b
疑?第一個怎麼不是 a?
alphabets = ['a', 'b', 'c']
print(alphabets[1])
0 | 1 | 2 |
---|
a | b | c |
---|
程式語言中的 index 是從 0 開始的
所以如果要取得第一個位置的元素,要輸入的位置值會是 0
想取得第二個元素則得輸入 1 ,以此類推
b
位置1
alphabets = ['a', 'b', 'c']
alphabets.append('d')
list名稱 .append( 元素 )
['a', 'b', 'c', 'd']
['a', 'b', 'c']
append('d')
讓使用者輸入5個分數,
用串列存放分數,
然後計算串列中元素的總和並輸出總分。
#input
請輸入成績 1 :
請輸入成績 2 :
請輸入成績 3 :
請輸入成績 4 :
請輸入成績 5 :
#output
總分:
偷吃步:可使用內建函式 sum() 來算總分
Loops
name_list = ['Erica', 'Amy', 'Chia', 'Sam', 'Bessy',..., 'Yan']
print(name_list[0])
print(name_list[1])
print(name_list[2])
print(name_list[3])
print(name_list[4])
...
print(name_list[50])
for i in name_list:
print(i)
可放入 字串、串列
將裡面的元素一個一個拿出來
for variable in list:
your code...
縮排
冒號
「for」和「in」是 Python 的關鍵字,
兩者之間可以放置使用者自訂的變數
適用於 已知迴圈圈數
the_list = [1, 3, 5, 7, 9]
for i in the_list:
print(i)
1, 3, 5, 7, 9
the_str = "Erica"
for letter in the_str:
print(letter)
E, r, i, c, a
使用 range物件
來控制執行次數
for variable in range():
your code...
縮排
冒號
變數
for i in range(1, 5):
print(i)
for i in range(1, 5, 1):
print(i)
1, 2, 3, 4
range() 可以想成重複 (stop - start) 次
讓使用者輸入5個分數,
用串列存放分數,
然後計算串列中元素的總和並輸出總分。
#input
請輸入成績 1 :
請輸入成績 2 :
請輸入成績 3 :
請輸入成績 4 :
請輸入成績 5 :
#output
總分:
偷吃步:可使用內建函式 sum() 來算總分
grades = []
建立串列:
print("總分為",sum(grades))
for i in range(1,6):
score = int(input("第{}個分數:".format(i)))
grades.append(score)
使用 for 迴圈:
輸出:
不要偷偷翻前面呦
加油你可以的不要放棄
讓使用者輸入5個分數,
用串列存放分數,
然後計算串列中元素的總和並輸出總分。
#input
請輸入成績 1 :
請輸入成績 2 :
請輸入成績 3 :
請輸入成績 4 :
請輸入成績 5 :
#output
總分:
偷吃步:可使用內建函式 sum() 來算總分
grades = []
for i in range(1,6):
score = int(input("第{}個分數:".format(i)))
grades.append(score)
print("總分為",sum(grades))
Lab - 3 完整程式碼:
Python 入門教學(土豆):
https://hackmd.io/GcikZaGORSqp4Xn-qHkhxg
Python(王柏凱):
https://slides.com/adkevin3307/python-3#/
Python 入門(姚韋辰):
以上是幫助我很多的筆記和 Slides 們,
感謝他們拯救了我 ouo
Victor’s Python中文教程(Victor Lin):
http://ez2learn.com/index.html
Python 入門(ccClub):
https://medium.com/ccclub/tagged/python-%E5%85%A5%E9%96%80
Python 入門 (django girls):
https://djangogirlstaipei.herokuapp.com/tutorials/python/?os=windows
這些參考資料也是你學習 Python 的好地方,
這頁比較偏教程,有興趣可以看看~