Bài thực hành tin học cơ sở - Công nghệ thông tin | Trường Đại học Quy Nhơn

Bài thực hành tin học cơ sở - Công nghệ thông tin | Trường Đại học Quy Nhơn được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

1
BÀI TH C HÀNH TIN H ỌC CƠ SỞ
DÀNH CHO KH I NGÀNH KINH T
2
BÀI 1: PYTHON VÀ MÔI TRƯNG LÀM VIC
1.1. Làm quen môi trường làm vic
Bài 1. Môi trường làm vic Anaconda
1. Cài đặt Python:
- Download ph n m m: https://www.python.org/downloads/
- t vào file vNhắp đúp chuộ ừa download để cài đặ t.
Cài đặt Jupyter Notebook:
Jupyter Notebook là m t công c h tr son tho và thực thi chương trình của m t s ngôn
ng lập trình trong đó có Python.
- Chuy n v ca s cmd: trên windows Ch n start r i gõ cmd
- Gõ l nh: pip install jupyter (máy tính ph i k t n i internet) ế
2. T o Notebook
M Jupyter Notebook
Chy Jupyter Notebook:
Gõ l nh: jupyter notebook
3
Giao di n c a Jupyter notebook qu n lý t t c file notebook c a mình t để ại đây
Tạo thư mục
- c v a t o (Untitled Folder) Chọn thư mụ
- n Rename r t l i tên khác (TH Python)Ch ồi đặ
To m i m t Notebook bng cách chn New -> Python 3; Trong giao di n trang ch t ủ, để o
mt tài li u Notebook m i click vào New và ch n lo i tài li ệu như Python, Text file, Folder...
Chọn tên sau đó đổi tên
4
Chn mc Python 3. Giao din ca trang Jupyter ch y môi trường máy tính như sau:
Trong giao di n này có các thành ph ần như sau:
Phn 1: Tiêu đề tài li u, m ặc định chưa nhập tiêu đề là Untitled. Khi nh p chu t vào ph n này,
mt c a s s hi b n nh p tên file. ện ra để
Phn 2: Thanh menu bao g ồm các menu như:
File: các menu thao tác v o m , save as... ới file như tạ ới, lưu trữ
Edit: các menu thao tác v i n ội dung file như copy, paste văn bản, cell, tìm ki m và thay ế
thế m t n i dung trong file, chèn hình nh...
View: menu điều chnh giao din, hin th hoc n các thành phn giao din trong
Jupyter Notebook.
Insert, Cell: c n Cell là thành ph n c a m t tài li u. ác hành động liên quan đế ần cơ bả
Kernel: các thao tác v i kernel hi i n u mu n s d ng ngôn ng ện hành như thay đổ ế
khác, restart, shutdown
Mt s các menu khác.
Phn 3: Thanh menu nhanh (shortcut menu) bao gm các thao tác nhanh mà b ng làm ạn thườ
vi mt tài liu, có mt s nút trên đó chúng ta hay dùng nhất như:
Save file
Copy, paste
Thay đổi th t các cell trong tài liu
Chy code trong tài li u
5
La chn loại văn bản trong cell:
Code: Cell này ch a mã Python và có th c hi th ện được.
Markdown: Cell này ch n di n gi ứa văn bả i.
Phn 4: N i dung tài li u ch a các cell n i dung là code ho ặc markdown, đây là vùng chúng
ta s làm vi c chính.
Thực hiện m t ví d đầu tiên, Hello world để xem Jupyter Notebook này ho ạt động thế nào?
Vào Cell đầu tiên và đưa vào dòng code Python như sau:
print("Hello world!")
Tiếp đó bạn bm vào nút Run trong menu nhanh hoc t hp phím tt Ctrl + Enter, kết qu s
xu ết hi n ti p theo ngay dưới cell đó.
Trong ví d trên chúng ta có 3 cell:
- Cell đầu tiên là d ng Markdown, chúng ta có th đưa vào nội dung là văn bản, file hình
nh, b ng bi u, danh sách...
6
- Cell th hai n i dung là code Python print("Hello world!") và khi b n b m và Run ho c
t h p phím Ctrl + Enter thì k t qu c a dòng code hi n th ngay ế bên dưới.
- Sau khi th c hi n m t cell thì Jupyter Notebook t động chèn thêm m t cell m ới chưa
có n i dung gì ngay dưới.
Thêm n i dung vào Jupyter Notebook
Như trong ví dụ trên chúng ta đã thêm vào mộ ội dung để Hello world t n din gii thêm cho
đoạn code print("Hello world"). N i dung này có th là m ột đoạn văn bản bao gồm các tiêu đề,
đoạn văn bản, hình nh, danh sách...
Để thêm n n vào Jupyter chúng ta ph i l a ch n d ng c a cell Markdown. ội dung văn bả
Jupyter Notebook cho phép s d ng Markdown m t ngôn ng u, nó t p h p các đánh d
ký hi ng v i m t s trong ngôn ng trong ngôn ng Markdown ệu tương th HTML.Tiêu đề
tương ứng vi các th H1, H2 ... H6 trong HTML, trong markdown s d ng ký t #, H1 tương
ng v ng với #, H2 tương ứ i ##, ...
Sau khi đánh xong văn bản trong Cell, b m nút Run ho c t h p phím t ắt Ctrl + Enter, văn bản
sau định dng mi hin ra.
7
Chúng ta có th nh d n v i ngôn ng đị ạng văn bả Markdown, danh sách các đ ạng này như nh d
sau: S d ng d b u và k t thúc m n b n mu n in nghiêng. S d ng d ấu * để ắt đầ ế ột đoạ ấu ** để
bắt đầ ột đoạ ốn bôi đậm, tương ứu và kết thúc m n bn mu ng vi th b trong HTML.
S d b u k t thúc m n b n mu n g ng v i th u trong ụng _ để ắt đầ ế ột đoạ ạch chân, tương
HTML.
Kết qu bn s y khi ch nh d n v i th HTML. th ạy là văn bản đã được đị ạng như mong muố
4.3.3 Danh sách
Trong văn bả ống như thẻn chúng ta có th thêm vào các danh sách gi ol, ul trong HTML. Vi
danh sách th t ol trong Markdown chúng ta ch c c danh sách. Còn ần đánh s đằng trướ
vi danh sách không th t chúng ta ch c c d ần để đằng trướ u * ho c d u + hoc du -.
8
Kết qu nh c khi bận đượ n thc thi cell này.
4.3.4 Syntax Highlight
Trong các tài li di n gi i. Markdown ệu, đôi khi chúng ta muốn đưa những đoạn code vào để
cho phép đưa code vào một cách đơn giả ắt đần bng cách cho b u và kết thúc vi ký t ```.
Kết qu khi thc hin cell
9
4.3.5 Các thành ph n khác trong Markdown
Ngoài các thành ph nh, ần trên, chúng ta cũng hay dùng các thành phần văn bản khác như
đườ ng d ng vẫn... tương ứ i các th img, a trong HTML.
Kết qu c ủa đoạn văn bản trên như sau:
Export và Import Jupyter Notebook
Khi b n làm vi c v i Jupyter Notebook b n có th hoàn thành và mu n chia s nh ng gì mình
làm v i m i, b n có th export tài li u này ra r t nhi u các d ọi ngườ ạng khác nhau như:
HTML
LaTeX
PDF
Notebook (.ipynb)
Markdown
10
Trong các d ng trên, chúng ta s hay chia s v i nhau d ng file Notebook .ipynb, các file này
th import l i vào Jupyter Notebook th c hi export ra file s d ng menu File - ện. Để >
Download as -> Notebook(.ipynb).
Khi bn có m t file Notebook (.ipynb) b n mu n import vào h ng, b n s d ng nút Upload th
trang ch Jupyter Notebook và tr đến file cần import. Khi đó file Jupyter Notebook s xut
hin trong danh sách trang chch c n nhp vào mt tab m i xu t hin v i n i dung tài
liu này.
Mt cell r ng s c t o sau khi b n th c thi code. Hãy gõ ti p m n code Python đượ ế ột đoạ
để th nghi m:
n th c hành Ph
Bài m u;
Bài 1: Vi p vào bán chi u dài và chi u r ng c a hình ch nh t, tính chu vi, ết chương trình nhậ
din tích ca hình ch nh ật đó.
Bài t p c hành: th
Bài 2. Nhập vào độ dài bán kính hình tròn, in ra màn hình chu vi diện tích của hình tròn
tương ứng. Yêu cầu các giá trị hiển thị trên màn hình có hai chữ số sau dấu thập phân.
Hướng dẫn:
Lấy số pi: from math import pi
Nhập bán kình r.
Tính CV= r*2*pi
S= r*r*pi
Xuất kết quả CV, S ra màn hình.
11
Bài 2. Viết chương trình nhập số lượng và đơn giá của sản phẩm. tính thành tiền và thuế giá
trị gia tăng phải trả theo công thức sau: thành tiền =số lượng * đơn giá
Thuế giá trị gia tăng=10%thành tiền
Bài 3. Nhập hai số, tính tổng, hiệu, tích, thương của hai số đó.
Bài 4. Nhập vào độ dài ba cnh , , ca b c a mt tam giác. Tính din tích tam giác bng công
th
c Heron chu vi. như sau: 𝑝 =𝑝
(
𝑝𝑎
)(
𝑝𝑏 (𝑝𝑐)
)
với p là nửa
Gợi ý: Hàm lấy căn bậc 2 sqrt().
from math import sqrt
BÀI 2: CU U KHITRÚC ĐIỀ N
1. Bài mu:
Bài 1. p ch s Nh điện kế tháng trước và tháng này. Hãy tính s kW tiêu th
tiền điện cho m i h d a vào b ng giá sau:
Mức
Số kWh sử dụng
đơn giá
(VNĐ)
1
kWh từ 0 – 100
1.418
2
kWh từ 101 – 150
1.622
3
kWh từ 151 – 200
2.044
4
kWh từ 201 – 300
2.210
5
kWh từ 301 – 400
2.361
6
kWh từ 401 trở lên
2.420
12
Bài 2. Viết chương trình tìm tấ ết cho 7 nhưng không pht c các s chia h i bi s ca 5, nm
trong đoạ thu đượn 2000 và 3200 (tính c 2000 và 3200). Các s c s được in thành chui trên
mt dòng, cách nhau b ng d u ph y.
Gi ý: S dng range(#begin, #end)
Code m u:
j=[]
for in i range ):(2000, 3201
if (i%7==0) and (i%5!= ):0
j.append str ))( (i
print join (','. (j))
Phần tập bài tự làm
Bài 1. Viết chương trình nhập vào từ bàn phím số nguyên và hiển thị ra màn hình: n
Nếu n là số nguyên dương thì hiển thị ra: n là số dương
Nếu n là số nguyên âm thì hiển thị ra: n là số âm
Nếu n là số 0 thì hiển thị ra: n là bằng không
Hướng dẫn:
Nhập giá trị n
- Nếu n>0 xuất ra mà hình; n là số dương
- Nếu n<0 xuất ra mà hình; n là số âm
- Nếu n=0 xuất ra mà hình; n là bằng 0
Bài 2. Nhp ti n g i, s tháng g i và lãi su t 1 tháng. Tính s tiền có đưc sau khi gi.
Gi ý:
Dữ liệu vào: tienGui, thang, laiSuat
Dữ liệu ra: số sau khi gtiền có được ửi
Thao tác:
i = 1
Lặp khi i<=thang
tienGui = tienGui + tienGui*laiSuat/100
i = i +1
- In tienGui
Bài 3.Viết chương trình nhp vào s nguyên n in ra màn hình các s <n chia hết cho 3
không chia h t cho 4. ế
Bài 4. Viết m t c các s n 1000 và 3000 (tính c 2 s y) sao ột chương trình tìm t trong đoạ
cho t t c các ch s trong s n. In các s c thành chu i cách nhau b i d u đó là số ch tìm đượ
phy, trên mt dòng.
Gi ý: ng hTrong trườ p d liệu đầu vào đượ ập vào chương trình nó nên được nh c gi định là
d i dùng nhliệu được ngườ p vào t giao di u khiện điề n.
Code m u:
values [] =
for in i range ):(1000, 3001
s = str(i)
if (int(s[0])% ==2 0) and (int(s[1])% ==2 0) and
( (s[ (s[int 2])%2==0) (and int 3])%2==0):
values. (s)append
print join (",". (values))
Bài 5. Một website yêu cầu người dùng nhập tên người dùng và mật khẩu để đăng ký. Viết
chương trình để kiểm tra tính hợp lệ của mật khẩu mà người dùng nhập vào.
13
Các tiêu chí kiểm tra mật khẩu bao gồm:
1. Ít nhất 1 chữ cái nằm trong [a-z]
2. Ít -9] nhất 1 số nằm trong [0
3. Ít nhất 1 kí tự nằm trong [A-Z]
4. Ít nhất 1 ký tự nằm trong [$ # @]
5. Độ dài mật khẩu tối thiểu: 6
6. Độ dài mật khẩu tối đa: 12
Chương trình phải chấp nhận một chuỗi mật khẩu phân tách nhau bởi dấu phẩy kiểm tra
xem chúng đáp ứng những tiêu chí trên hay không. Mật khẩu hợp lệ sđược in, mỗi mật
khẩu cách nhau bởi dấu phẩy.
Ví dụ mật khẩu nhập vào chương trình là: ABd1234@1,a F1#,2w3E*,2We3345
Thì đầu ra sẽ là: ABd1234@1
Gợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là
dữ liệu được người dùng nhập vào từ giao diện điều khiển.
Code m u:
import re
value = []
items=[ input ).split )]x for x in ("Nh kh u:ập mật " (','
for in p items:
if len )<(p 6 or len )>(p 12:
continue
else:
pass
if not re search ):. ("[a z]"- ,p
continue
elif not re search ):. ("[0 9]"- ,p
continue
elif not re search ):. ("[A Z]"- ,p
continue
elif not re search ):. ("[$#@]",p
continue
elif re search ):. ("\s",p
continue
else:
pass
value.append(p)
print join value (",". ( ))
14
BÀI 3. HÀM
1. Cách khai báo hàm:
def tenHam(ds tham số):
Các l nh c a hàm
[return các giá trị]
3. Bài t p m u
Bài 1. Viết một chương trình có thể tính giai thừa của một số cho trước. Kết quả được in
thành chuỗi trên một dòng, phân tách bởi dấu phẩy. Ví dụ, số cho trước là 8 thì kết quả đầu ra
phải là 40320.
Gi ý: ng h p dTrong trườ liệu đầ vào đượ ọn cách đểu c cung cp, bn hãy ch người dùng
nhp s vào.
Code m u:
def fact ):(x
if x == 0:
return 1
return x * fact(x - ) 1
x= ( (int input "Nhậ p s c n tính giai th a:"))
print (fact ))(x
4. Phần bài tập làm tự
Bài 1. hàm Viết một tính giá trị bình phương của một số.
Gợi ý: Sử dụng toán tử **.
Bài 2. Viết hàm tính ti n khi bi s n k c và tháng này. S ền điệ ết ch điệ ế tháng trư
d nụng hàm để tính ti tiền điện vi ch s điện nhp vào t bàn phím.
Hãy tính s kW tiêu th và ti n cho m i h d ng giá sau: ền điệ a vào b
Mức
Số kWh sử dụng
đơn giá
(VNĐ)
1
kWh từ 0 – 100
1.418
2
kWh từ 101 – 150
1.622
3
kWh từ 151 – 200
2.044
4
kWh từ 201 – 300
2.210
5
kWh từ 301 – 400
2.361
6
kWh từ 401 trở lên
2.420
Bài 3. Viết hàm tính diện tích tam giác khi biết ba cạnh, hàm phân loại tam giác khi biết
3 cạnh: đều, vuông cân, cân, vuông, thường, không phải tam giác. Sử dụng các hàm trên,
nhập 3 số thực a, b, c thông báo loại tam giác và diện tích hoặc thông báo không là tam
giác.
Bài 4. Viết chươ kiểm tra một số n có phải là số nguyê tố không.ng trình n
15
Bài 5. Viết hàm tính 𝑐
𝑛
𝑘
=
𝑛!
𝑘! 𝑛𝑘 !
( )
. tính cho n, k nh p t bàn phím. Dùng hàm đó để
BÀI 4: CÁC KIU D LIU NÂNG CAO
Bài 1:
Câu h i: Viết chương trình sắp x p tuple (name, age, score) theo ế th t tăng dần, name string,
age và height là number. Tuple đượ ởi ngườc nhp vào b i dùng. Tiêu chí sp xếp là:
Sp x p x p x i > ếp theo name sau đó s ếp theo age, sau đó s ếp theo score. Ưu tiên là tên > tuổ
điểm.
Nếu đầu vào là:
Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85
Thì đầu ra s là:
[('John', '20', '90'), ('Jony', '17', '91'), ('Jony', '17', '93'), ('Json', '21', '85'), ('Tom', '19', '80')]
Gi ý: ng hTrong trườ p d liệu đầu vào đượ ập vào chương trình nó nên được nh c gi định là
d liu i dùng nhđược ngườ p vào t giao di u khiện điề n.
S d ụng itemgetter để chp nh n nhi u key s p x p. ế
Code m u:
from operator import itemgetter attrgetter,
l = []
while True :
s = input()
if not s:
break
l.append tuple split )))( (s. (","
print (sorted key itemgetter )))(l, = (0 1 2, ,
Bài 2:
Câu h i: Viết chương trình tính tần sut các t t input. Output được xuất ra sau khi đã sắp xếp
theo b ng ch cái.
Gi s input là: New to Python or choosing between Python 2 and Python 3? Read Python 2 or
Python 3.
Thì output ph i là:
2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1
16
Gi ý: ng hTrong trườ p d liệu đầu vào đượ ải được cung cp cho câu hi, nó ph c gi định
một input đượ ện điềc nhp t giao di u khin.
Code m u:
freq {} = # frequency of words in text
line input() =
for in word line split():.
] = freq[word freq. ( ,get word 0)+1
words sorted freq keys()) = ( .
for in w words:
print ("%s:%d" % (w,freq ]))[w
Bài 3:
Câu h t hàm có th chuy n s nguyên thành chu i và in nó ra giao dii: Định nghĩa mộ ện điu
khin
Gi ý:S d chuy i mụng str() để ển đổ t s thành chui.
Code m u:
def printValue ):(n
print (str ))(n
printValue( )3
Bài 4:
Câu h nh n hai s nguyên trong d ng chu i và tính t ng c a chúng, i: Định nghĩa hàm có thể
sau đó ện điềin tng ra giao di u khin.
Gi ý: S d chuy i mụng int() để ển đổ t chui thành s nguyên.
Code m u:
def printValue s1 s2):( ,
print (int(s1)+ s2))int(
printValue("3","4") #Kết quả là 7
Bài 5:
Câu h t hàm có th in dictionary ch a các key là s t n 20 (bao g m c i: Định nghĩa mộ 1 đế
1 và 20) và các giá tr a chúng. bình phương củ
Gi ý: S dụng dict[key]=value để nhp mc vào dictionary.
S d ng toán t l a m t s . ** để ấy bình phương củ
S dujnng range() cho các vòng l p.
Code m u:
def printDict():
d=dict()
for i in range ):( ,1 21
d[i]= **i 2
print (d)
printDict()
Kết quả khi chạy code trên là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100,
11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361, 20: 400}
Bài 6:
t hàm th t o list ch a các giá tr a các s t n 20 (bao Định nghĩa mộ bình phương củ 1 đế
gm c 1 và 20) và in 5 m u tiên trong list. ục đầ
Gi ý: S dng toán t l y giá tr ** để bình phương.
S d ng range() cho vòng l p.
S d thêm giá tr vào list. ụng list.append() để
S d c t list ụng [n1:n2] để
Code m u:
17
Bài 7:
Viế t m tột chương trình để o tuple khác, ch a các giá tr s n trong tuple ch
(1,2,3,4,5,6,7,8,9,10) cho trước.
Gi ý: S d l p tuple. ụng for để
S d t o tuple t list. ụng tuple() để
Kết qu:
( )2, 4, 6, 8, 10
Bài 8:
Yêu c u: l c các s n trong danh sách s d ng hàm filter. Viết chương trình Python có thể ch
Danh sách là [1,2,3,4,5,6,7,8,9,10].
Gi ý: S d lụng filter() để c các y u tế trong mt list.
S d ng lambda để định nghĩa hàm chưa biết.
Code m u:
li = [1 2 3 4, , , ,5 6 7 8 9, , , , ,10]
evenNumbers list filter == li)) = ( (lambda x: x% 2 , 0
print (evenNumbers)
Kết qu: [2, 4, 6, 8, 10]
Bài 9:
Yêu c u: Viết chương trình Python dùng map() filter() đ bình phương to list cha giá tr
ca các s chn trong [1,2,3,4,5,6,7,8,9,10].
Gi ý: t o list; l c thành phDùng map() để Dùng filter() để n trong list; Dùng lambda để định
nghĩa hàm chưa biết.
Code m u:
li = [1 2 3 4, , , ,5 6 7 8 9, , , , ,10]
squareOfEvenNumbers list map ** filter = ( (lambda x: x , 2
(lambda x: x% 2 == 0, li)))
print (squareOfEvenNumbers)
Kết qu: [4, 16, 36, 64, 100]
BÀI 5: LÀM VI C CÁC LO I FILE D LIU
Bài 1: Cho b ng d u v li giá vàng trong tháng như sau:
Ngày
Giá vàng bán ra
Giá vàng mua vào
1/3
46
45
2/3
47
46
3/3
46
45.5
4/3
45
44.5
5/3
46
45
6/3
46
45.5
7/3
45
44.5
Hãy viết chương trình lưu trữ ệu dướ d li i dng file CSV.
Bài 2: Vi d liệu trong file CSV đã tạo trong bài 1, viết chương trình đọc và
hi n th d li u t file CSV này và thêm các tiêu đề đầu vào d liu kết qu như
hình sau:
18
Bài 3: Cho b ng d u v l i vi ph m c li ủa sinh viên như sau:
Tên sinh viên
Vắng thực hành
Không nộp bài
Trung
2
0
Cảnh
1
3
Bảo
0
0
Quốc
0
2
Tùng
1
1
Hãy viết chương trình lưu trữ ệu dướ d li i dng file CSV.
Bài 4: Vi d liệu trong file CSV đã tạo trong bài 3, viết chương trình đọc hin
th li li d u t u vào d file CSV này và thêm các tiêu đ đầ u kết qu như hình
sau:
Bài 5: Cho b ng d u v giá vàng trong tháng 3 li như sau:
Ngày
Giá vàng bán ra
Giá vàng mua vào
1/3
46
45
2/3
47
46
3/3
46
45.5
4/3
45
44.5
5/3
46
45
6/3
46
45.5
7/3
45
44.5
Hãy viết chương trình lưu trữ ệu dướ d li i dng file Excel.
19
CODE MU
Bài 1
import pandas as pd
ngay = ['1/3','2/3','3/3','4/3','5/3','6/3','7/3']
giaban = [46,47,46,45,46,46,45]
giamua = [45,46,45.5,44.5,45,45.5,44.5]
dulieu = zip(ngay, giaban, giamua)
df = pd.DataFrame(data = dulieu)
df.to_csv('Banggiavang3.csv', index=False, header=False)
Bài 2
import pandas as pd
Location = "Banggiavang3.csv"
# Đọc file csv
df = pd.read_csv(Location)
# Thêm tiêu đề đầ u vào dữ li u
df.columns = ['Ngày','Giá vàng bán ra', 'Giá vàng mua vào']
df.head()
Bài 3
Làm tương tự
Bài 4
import pandas as pd
Location = "Bangvipham.csv"
# Đọc file csv
df = pd.read_csv(Location)
# Thêm tiêu đề đầ u vào dữ li u
df.columns = ['Tên','V ng lý thuy t', 'V ng th c hành', 'Không n p ế
bài']
df.head()
Bài 5:
import pandas as pd
ngay = ['1/3','2/3','3/3','4/3','5/3','6/3','7/3']
20
giaban = [46,47,46,45,46,46,45]
giamua = [45,46,45.5,44.5,45,45.5,44.5]
dulieu = zip(ngay, giaban, giamua)
cot = ['Ngày', 'Giá vàng bán ra', 'Giá vàng mua vào']
df = pd.DataFrame(data = dulieu,columns=cot)
writer = pd.ExcelWriter('Banggiavang3.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
| 1/54

Preview text:


BÀI THC HÀNH TIN HỌC CƠ SỞ
DÀNH CHO KHI NGÀNH KINH T 1
BÀI 1: PYTHON VÀ MÔI TRƯỜNG LÀM VIC
1.1. Làm quen môi trường làm vic
Bài 1.
Môi trường làm vic Anaconda 1. Cài đặt Python:
- Download phn mm: https://www.python.org/downloads/
- Nhắp đúp chuột vào file vừa download để cài đặt.
Cài đặt Jupyter Notebook:
Jupyter Notebook là một công cụ hỗ trợ soạn thảo và thực thi chương trình của một số ngôn
ngữ lập trình trong đó có Python.
- Chuyển về cửa sổ cmd: trên windows Chọn start rồi gõ cmd
- Gõ lnh: pip install jupyter (máy tính phi kết ni internet) 2. To Notebook Mở Jupyter Notebook
Chy Jupyter Notebook:
Gõ lnh: jupyter notebook 2
Giao diện c a Jupyter notebook ủ
để quản lý tất cả file notebook c a mình t ủ ại đây
Tạo thư mục
- Chọn thư mục va to (Untitled Folder)
- Chn Rename rồi đặt li tên khác (TH Python)
Tạo mới một Notebook bằng cách chọn New -> Python 3; Trong giao diện trang chủ, để tạo
một tài liệu Notebook mới click vào New và ch n lo ọ
ại tài liệu như Python, Text file, Folder...
Chọn tên sau đó đổi tên 3
Chọn mục Python 3. Giao diện của trang Jupyter chạy ở môi trường máy tính như sau:
Trong giao diện này có các thành ph ần như sau:
Phn 1: Tiêu đề tài liệu, mặc định chưa nhập tiêu đề là Untitled. Khi nhấp chu t ộ vào phần này, một c a s ử s
ổ ẽ hiện ra để bạn nhập tên file.
Phn 2: Thanh menu bao gồm các menu như:
File: các menu thao tác với file như tạo mới, lưu trữ, save as...
Edit: các menu thao tác với nội dung file như copy, paste văn bản, cell, tìm kiếm và thay
thế một nội dung trong file, chèn hình ảnh...
View: menu điều chỉnh giao diện, hiển thị hoặc ẩn các thành phần giao diện trong Jupyter Notebook. Insert, Cell: c n Cell là thành ph
ác hành động liên quan đế n c ần cơ bả a m ủ ột tài liệu.
Kernel: các thao tác với kernel hiện hành như thay i đổ nếu muốn sử d ng ụ ngôn ngữ khác, restart, shutdown Một s các menu khác. ố
Phn 3: Thanh menu nhanh (shortcut menu) bao gồm các thao tác nhanh mà bạn ng thườ làm
với một tài liệu, có một số nút trên đó chúng ta hay dùng nhất như: Save file Copy, paste
Thay đổi thứ tự các cell trong tài liệu Chạy code trong tài liệu 4
Lựa chọn loại văn bản trong cell:
Code: Cell này ch a mã Python và có th ứ ể thực hiện được .
Markdown: Cell này chứa văn bản diễn giải. Phn 4: N i
ộ dung tài liệu chứa các cell có n i
ộ dung là code hoặc markdown, đây là vùng chúng ta sẽ làm việc chính. Thực hiện m t ví ộ
dụ đầu tiên, Hello world để xem Jupyter Notebook này hoạt động thế nào?
Vào Cell đầu tiên và đưa vào dòng code Python như sau: print("Hello world!")
Tiếp đó bạn bấm vào nút Run trong menu nhanh hoặc tổ hợp phím tắt Ctrl + Enter, kết quả sẽ
xuất hiện tiếp theo ở ngay dưới cell đó.
Trong ví dụ trên chúng ta có 3 cell:
- Cell đầu tiên là dạng Markdown, chúng ta có thể đưa vào nội dung là văn bản, file hình ả ả
nh, b ng biểu, danh sách... 5
- Cell th hai n i
ộ dung là code Python print("Hello world!") và khi bạn bấm và Run hoặc
tổ hợp phím Ctrl + Enter thì kết quả của dòng code hiển thị ngay ở bên dưới.
- Sau khi thực hiện m t
ộ cell thì Jupyter Notebook tự động chèn thêm m t c ộ ell mới chưa có n i dung gì ộ ở ngay dưới.
Thêm ni dung vào Jupyter Notebook
Như trong ví dụ Hello world ở trên chúng ta đã thêm vào một ội
n dung để diễn giải thêm cho
đoạn code print("Hello world"). N i dun ộ
g này có thể là một đoạn văn bản bao gồm các tiêu đề,
đoạn văn bản, hình ảnh, danh sách...
Để thêm nội dung văn bản vào Jupyter chúng ta phải lựa ch n
ọ dạng của cell là Markdown.
Jupyter Notebook cho phép sử d n ụ g Markdown là m t
ộ ngôn ngữ đánh dấu, nó là tập hợp các
ký hiệu tương ứng với m t
ộ số thẻ trong ngôn ngữ HTML.Tiêu đề trong ngôn ng ữ Markdown
tương ứng với các thẻ H1, H2 ... H6 trong HTML, trong markdown sử dụng ký t ự #, H1 tương
ứng với #, H2 tương ứng với ##, ...
Sau khi đánh xong văn bản trong Cell, bấm nút Run hoặc t h
ổ ợp phím tắt Ctrl + Enter, văn bản
sau định dạng mới hiện ra. 6
Chúng ta có thể định dạng văn bản với ngôn ngữ Markdown, danh sách các đị ạng này như nh d sau: S d ử ng ụ
dấu * để bắt đầu và kết thúc một đoạn bạn mu n in ố nghiêng. Sử d ng d ụ ấu ** để bắt đầu và kế ột đoạ t thúc m
n bạn muốn bôi đậm, tương ứng với thẻ b trong HTML.
Sử dụng _ để bắt đầu và kết thúc một đoạn bạn muốn gạch chân, tương ứng với thẻ u trong HTML.
Kết quả bạn sẽ thấy khi chạy là văn bản đã được định dạng như mong muốn với thẻ HTML. 4.3.3 Danh sách
Trong văn bản chúng ta có thể thêm vào các danh sách giống như thẻ ol, ul trong HTML. Với danh sách có th ứ t
ự ol trong Markdown chúng ta chỉ cần đánh số đằng trước danh sách. Còn
với danh sách không thứ tự chúng ta chỉ c
ần để đằng trước dấu * hoặc dấu + hoặc dấu -. 7 Kết quả nh c khi b ận đượ ạn thực thi cell này. 4.3.4 Syntax Highlight
Trong các tài liệu, đôi khi chúng ta muốn đưa những đoạn code vào để diễn giải. Markdown
cho phép đưa code vào một cách đơn giản bằ ắt đầ ng cách cho b
u và kết thúc với ký tự ```.
Kết quả khi thực hiện cell 8
4.3.5 Các thành phần khác trong Markdown
Ngoài các thành phần trên, chúng ta cũng hay dùng các thành phần văn bản khác như ảnh,
đường dẫn... tương ứng với các thẻ img, a trong HTML.
Kết quả của đoạn văn bản trên như sau:
Export và Import Jupyter Notebook
Khi bạn làm việc với Jupyter Notebook bạn có thể hoàn thành và mu n chia s ố ẻ nh ng ữ gì mình
làm với mọi người, bạn có thể export tài liệu này ra rất nhiều các dạng khác nhau như: HTML LaTeX PDF Notebook (.ipynb) Markdown 9
Trong các dạng trên, chúng ta sẽ hay chia sẻ với nhau dạng file Notebook .ipynb, các file này
có thể import lại vào Jupyter Notebook và thực hiện.
Để export ra file sử d ng ụ menu File ->
Download as -> Notebook(.ipynb).
Khi bạn có m t file Notebook ộ
(.ipynb) bạn muốn import vào hệ th ng, ố bạn s d ử ng ụ nút Upload
ở trang chủ Jupyter Notebook và trỏ đến file cần import. Khi đó file Jupyter Notebook sẽ xuất
hiện trong danh sách trang chủ và chỉ cần nhấp vào là một tab mới xuất hiện với nội dung tài liệu này. Một cell r ng s ỗ
ẽ được tạo sau khi bạn thực thi code. Hãy gõ tiếp một đoạn code Python để thử nghiệm: Ph n th ầ ực hành Bài mu;
Bài 1: Viết chương trình nhập vào bán chiều dài và chiều r ng ộ c a hình ủ chữ nhật, tính chu vi,
diện tích của hình chữ nhật đó.
Bài tp thc hành:
Bài 2. Nhập vào độ dài bán kính hình tròn, in ra màn hình chu vi và diện tích của hình tròn
tương ứng. Yêu cầu các giá trị hiển thị trên màn hình có hai chữ số sau dấu thập phân. Hướng dẫn:
Lấy số pi: from math import pi Nhập bán kình r. Tính CV= r*2*pi S= r*r*pi
Xuất kết quả CV, S ra màn hình. 10
Bài 2. Viết chương trình nhập số lượng và đơn giá của sản phẩm. tính thành tiền và thuế giá
trị gia tăng phải trả theo công thức sau: thành tiền =số lượng * đơn giá
Thuế giá trị gia tăng=10%thành tiền
Bài 3. Nhập hai số, tính tổng, hiệu, tích, thương của hai số đó.
Bài 4. Nhập vào độ dài ba cạnh a, b, c của một tam giác. Tính diện tích tam giác bằng công
thức Heron như sau: 𝑝 =√𝑝(𝑝−𝑎)(𝑝−𝑏)(𝑝−𝑐 ) với p là nửa chu vi.
Gợi ý: Hàm lấy căn bậc 2 sqrt(). from math import sqrt
BÀI 2: CU TRÚC ĐIỀU KHIN 1. Bài mu:
Bài 1. Nhập chỉ số điện kế tháng trước và tháng này. Hãy tính số kW tiêu thụ và
tiền điện cho mỗi hộ dựa vào bảng giá sau: đơn giá Mức Số kWh sử dụng (VNĐ) 1 kWh từ 0 – 100 1.418 2 kWh từ 101 – 150 1.622 3 kWh từ 151 – 200 2.044 4 kWh từ 201 – 300 2.210 5 kWh từ 301 – 400 2.361 6 kWh từ 401 trở lên 2.420 11
Bài 2. Viết chương trình tìm tất cả các số chia ết
h cho 7 nhưng không phải bội số của 5, nằm
trong đoạn 2000 và 3200 (tính cả 2000 và 3200). Các số thu được sẽ được in thành chuỗi trên
một dòng, cách nhau bằng dấu phẩy.
Gợi ý: Sử dụng range(#begin, #end) Code mẫu: j=[] for i in range(2000, 3201): if (i%7==0) and (i%5!= ) 0 : j.append s ( tr(i)) print (',' j.oin(j))
Phần bài tập tự làm
Bài 1.
Viết chương trình nhập vào từ bàn phím số nguyên n và hiển thị ra màn hình:
Nếu n là số nguyên dương thì hiển thị ra: n là số dương
Nếu n là số nguyên âm thì hiển thị ra: n là số âm
Nếu n là số 0 thì hiển thị ra: n là bằng không Hướng dẫn: Nhập giá trị n
- Nếu n>0 xuất ra mà hình; n là số dương
- Nếu n<0 xuất ra mà hình; n là số âm
- Nếu n=0 xuất ra mà hình; n là bằng 0
Bài 2. Nhập tiền gửi, số tháng gửi và lãi suất 1 tháng. Tính số tiền có được sau khi gửi. Gi ý:
Dữ liệu vào: tienGui, thang, laiSuat
Dữ liệu ra: số tiền có được sau khi g ửi Thao tác: i = 1 Lặp khi i<=thang
tienGui = tienGui + tienGui*laiSuat/100 i = i +1 - In tienGui
Bài 3.Viết chương trình nhập vào số nguyên n in ra màn hình các số không chia hết cho 4.
Bài 4. Viết một chương trình tìm tất cả các số trong đoạn 1000 và 3000 (tính cả 2 số này) sao cho tất cả các chữ s
ố trong số đó là số chẵn. In các số tìm được thành chu i cách nhau ỗ bởi dấu phẩy, trên một dòng.
Gợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là
dữ liệu được người dùng nhập vào từ giao diện điều khiển. Code mẫu: values = [] for i in range(1000, 3001): s = str(i) if (int(s[0])% = 2 =0) and (int(s[1])% = 2 =0) and
(int(s[2])%2==0) and (int(s[3])%2==0): values.append(s) print ("," j.oin(values))
Bài 5. Một website yêu cầu người dùng nhập tên người dùng và mật khẩu để đăng ký. Viết
chương trình để kiểm tra tính hợp lệ của mật khẩu mà người dùng nhập vào. 12
Các tiêu chí kiểm tra mật khẩu bao gồm:
1. Ít nhất 1 chữ cái nằm trong [a-z] 2. Ít -9] nhất 1 số nằm trong [0
3. Ít nhất 1 kí tự nằm trong [A-Z]
4. Ít nhất 1 ký tự nằm trong [$ # @]
5. Độ dài mật khẩu tối thiểu: 6
6. Độ dài mật khẩu tối đa: 12
Chương trình phải chấp nhận một chuỗi mật khẩu phân tách nhau bởi dấu phẩy và kiểm tra
xem chúng có đáp ứng những tiêu chí trên hay không. Mật khẩu hợp lệ sẽ được in, mỗi mật
khẩu cách nhau bởi dấu phẩy.
Ví dụ mật khẩu nhập vào chương trình là: ABd1234@1,a F1#,2w3E*,2We3345
Thì đầu ra sẽ là: ABd1234@1 Gợi ý: Tr
ong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là
dữ liệu được người dùng nhập vào từ giao diện điều khiển. Code mẫu: import re value = []
items=[x for x in i nput("Nhập mật khẩu: ) " .split(',')] for i p n items: if len(p)<6 or len ) (p >12: continue else: pass if not re.search("[a z - ]" ) ,p : continue elif not re s . earch("[0 9 - ]" ) ,p : continue elif not re s . earch("[A Z - ]" ) ,p : continue elif not re s . earch("[$#@]" ) ,p : continue elif re s . earch("\s" ) ,p : continue else: pass value.append(p) print ("," j.oin v ( alue)) 13 BÀI 3. HÀM 1. Cách khai báo hàm: def tenHam(ds tham số): Các lệnh của hàm [return các giá trị]
3. Bài tp mu
Bài 1. Viết một chương trình có thể tính giai thừa của một số cho trước. Kết quả được in thành
chuỗi trên một dòng, phân tách bởi dấu phẩy. Ví dụ, số cho trước là 8 thì kết quả đầu ra phải là 40320.
Gợi ý: Trong trường hợp dữ liệu đầu vào được cung cấp, bạn hãy chọn cách để người dùng nhập số vào. Code mẫu: def fact(x): if x == 0: return 1 return x * fact(x - ) 1
x=int(input("Nhập số cần tính giai thừa:")) print (fact(x))
4. Phần bài tập t làm
Bài 1. Viết một hàm tính giá trị bình phương của một số.
Gợi ý: Sử dụng toán tử **.
Bài 2. Viết hàm tính tiền điện khi biết chỉ số điện kế tháng trước và tháng này. Sử
dụng hàm để tính tiền tiền điện với chỉ số điện nhập vào từ bàn phím.
Hãy tính số kW tiêu thụ và tiền điện cho mỗi hộ dựa vào bảng giá sau: đơn giá Mức Số kWh sử dụng (VNĐ) 1 kWh từ 0 – 100 1.418 2 kWh từ 101 – 150 1.622 3 kWh từ 151 – 200 2.044 4 kWh từ 201 – 300 2.210 5 kWh từ 301 – 400 2.361 6 kWh từ 401 trở lên 2.420
Bài 3. Viết hàm tính diện tích tam giác khi biết ba cạnh, hàm phân loại tam giác khi biết
3 cạnh: đều, vuông cân, cân, vuông, thường, không phải tam giác. Sử dụng các hàm trên,
nhập 3 số thực a, b, c thông báo loại tam giác và diện tích hoặc thông báo không là tam giác.
Bài 4. Viết chương trình kiểm tra một số n có phải là số nguyên tố không. 14
Bài 5. Viết hàm tính 𝑐𝑘 = 𝑛!
. Dùng hàm đó để tính cho n, k nhập từ bàn phím. 𝑛 𝑘!(𝑛−𝑘)!
BÀI 4: CÁC KIU D LIU NÂNG CAO Bài 1:
Câu hỏi: Viết chương trình sắp xếp tuple (name, age, score) theo thứ tự tăng dần, name là string,
age và height là number. Tuple được nhập vào bởi người dùng. Tiêu chí sắp xếp là:
Sắp xếp theo name sau đó sắp xếp theo age, sau đó sắp xếp theo score. Ưu tiên là tên > tuổi > điểm. Nếu đầu vào là: Tom,19,80 John,20,90 Jony,17,91 Jony,17,93 Json,21,85 Thì đầu ra sẽ là:
[('John', '20', '90'), ('Jony', '17', '91'), ('Jony', '17', '93'), ('Json', '21', '85'), ('Tom', '19', '80')]
Gợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là
dữ liệu được người dùng nhập vào từ giao diện điều khiển.
Sử dụng itemgetter để chấp nhận nhiều key sắp xếp. Code mẫu: from o perator import itemgetter a , ttrgetter l = [] while T rue: s = input() if not s: break l.append t ( uple(s.split(",")))
print (sorted(l, key=itemgetter(0 1 , , ) 2 )) Bài 2:
Câu hỏi: Viết chương trình tính tần suất các t t
ừ ừ input. Output được xuất ra sau khi đã sắp xếp theo bảng ch cái. ữ
Giả sử input là: New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3. Thì output phải là: 2:2 3.:1 3?:1 New:1 Python:5 Read:1 and:1 between:1 choosing:1 or:2 to:1 15
Gợi ý: Trong trường hợp dữ liệu đầu vào được cung cấp cho câu hỏi, nó ải ph được giả định là
một input được nhập từ giao diện điều khiển. Code mẫu: freq = {} # frequency o f w ords in text line = input() for word in line s . plit():
freq[word] = freq.get(word,0)+1 words = sorted f ( req k . eys()) for w in words:
print ("%s:%d" % (w,freq[w])) Bài 3:
Câu hỏi: Định nghĩa một hàm có thể chuyển số nguyên thành chu i
ỗ và in nó ra giao diện điều khiển
Gợi ý:Sử dụng str() để chuyển đổi một số thành chuỗi. Code mẫu: def printValue(n): print (str(n)) printValue( ) 3 Bài 4:
Câu hỏi: Định nghĩa hàm có thể nhận hai s
ố nguyên trong dạng chu i ỗ và tính t ng ổ của chúng,
sau đó in tổng ra giao diện điều khiển.
Gợi ý: Sử dụng int() để chuyển đổi một chuỗi thành số nguyên. Code mẫu: def printValue(s1,s2): print (int(s1)+int(s2)) printValue("3","4") #Kết q uả là 7 Bài 5:
Câu hỏi: Định nghĩa một hàm có thể in dictionary ch a ứ các key là s
ố từ 1 đến 20 (bao gồm cả
1 và 20) và các giá trị bình phương của chúng.
Gợi ý: Sử dụng dict[key]=value để nhập mục vào dictionary. Sử d ng toán t ụ ừ ** để l a m ấy bình phương củ ột s . ố
Sử dujnng range() cho các vòng lặp. Code mẫu: def printDict(): d=dict() for i in range( , 1 21): d[i]=i**2 print (d) printDict()
Kết quả khi chạy code trên là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100,
11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361, 20: 400} Bài 6:
Định nghĩa một hàm có thể tạo list chứa các giá trị bình phương của các s ố từ 1 đến 20 (bao
gồm cả 1 và 20) và in 5 mục đầu tiên trong list.
Gợi ý: Sử dụng toán tử ** để lấy giá trị bình phương. Sử d ng range() cho vòng l ụ ặp.
Sử dụng list.append() để thêm giá trị vào list.
Sử dụng [n1:n2] để cắt list Code mẫu: 16 Bài 7:
Viết một chương trình để tạo tuple khác, chứa các giá trị là số chẵn trong tuple
(1,2,3,4,5,6,7,8,9,10) cho trước.
Gợi ý: Sử dụng for để lặp tuple. Sử d t
ụng tuple() để ạo tuple từ list. Kết quả: (2, 4, 6, 8, 10) Bài 8:
Yêu cầu: Viết chương trình Python có thể l c
ọ các số chẵn trong danh sách s ử d ng hàm ụ filter.
Danh sách là [1,2,3,4,5,6,7,8,9,10].
Gợi ý: Sử dụng filter() để lọc các yếu tố trong một list. Sử d ng lambda ụ
để định nghĩa hàm chưa biết. Code mẫu: li = [1 2 , 3 , 4 , ,5 6 , 7 , 8 , ,9,10]
evenNumbers = list(filter (lambda x: x% = 2 = , 0 li)) print (evenNumbers) Kết quả: [2, 4, 6, 8, 10] Bài 9:
Yêu cầu: Viết chương trình Python dùng map() và filter() để tạo list chứa giá trị bình phương
của các số chẵn trong [1,2,3,4,5,6,7,8,9,10]. Gợi ý: t
Dùng map() để ạo list; Dùng filter() để lọc thành phần trong list; Dùng lambda để định nghĩa hàm chưa biết. Code mẫu: li = [1 2 , 3 , 4 , ,5 6 , 7 , 8 , ,9,10]
squareOfEvenNumbers = list (map (lambda x: x ** 2, filter (lambda x: x% 2 == 0, li))) print (squareOfEvenNumbers)
Kết quả: [4, 16, 36, 64, 100]
BÀI 5: LÀM VIC CÁC LOI FILE D LIU
Bài 1: Cho bảng dữ liệu về giá vàng trong tháng như sau: Ngày Giá vàng bán ra Giá vàng mua vào 1/3 46 45 2/3 47 46 3/3 46 45.5 4/3 45 44.5 5/3 46 45 6/3 46 45.5 7/3 45 44.5
Hãy viết chương trình lưu trữ dữ l ệ i u dưới dạng file CSV.
Bài 2: Với dữ liệu trong file CSV đã tạo trong bài 1, viết chương trình đọc và
hiển thị dữ liệu từ file CSV này và thêm các tiêu đề đầu vào dữ liệu kết quả như hình sau: 17
Bài 3: Cho bảng dữ liệu về lỗi vi phạm của sinh viên như sau: Tên sinh viên Vắng lý thuyết Vắng thực hành Không nộp bài Trung 3 2 0 Cảnh 5 1 3 Bảo 1 0 0 Quốc 0 0 2 Tùng 2 1 1
Hãy viết chương trình lưu trữ dữ l ệ i u dưới dạng file CSV.
Bài 4: Với dữ liệu trong file CSV đã tạo trong bài 3, viết chương trình đọc và hiển
thị dữ liệu từ file CSV này và thêm các tiêu đề đầu vào dữ liệu kết quả như hình sau:
Bài 5: Cho bảng dữ liệu về giá vàng trong tháng 3 như sau: Ngày Giá vàng bán ra Giá vàng mua vào 1/3 46 45 2/3 47 46 3/3 46 45.5 4/3 45 44.5 5/3 46 45 6/3 46 45.5 7/3 45 44.5
Hãy viết chương trình lưu trữ dữ l ệ
i u dưới dạng file Excel. 18 CODE MẪU Bài 1 import pandas as pd
ngay = ['1/3','2/3','3/3','4/3','5/3','6/3','7/3']
giaban = [46,47,46,45,46,46,45]
giamua = [45,46,45.5,44.5,45,45.5,44.5]
dulieu = zip(ngay, giaban, giamua)
df = pd.DataFrame(data = dulieu)
df.to_csv('Banggiavang3.csv', index=False, header=False) Bài 2 import pandas as p d Location = "Banggiavang3.csv" # Đọc file csv df = pd.read_csv(Location)
# Thêm tiêu đề đầu vào dữ l ệ i u
df.columns = ['Ngày','Giá vàng bán ra', 'Giá vàng mua vào'] df.head() Bài 3 Làm tương tự Bài 4 import pandas as pd Location = "Bangvipham.csv" # Đọc file csv df = pd.read_csv(Location)
# Thêm tiêu đề đầu vào dữ l ệ i u
df.columns = ['Tên','Vắng lý thuyết', 'Vắng thực hành', 'Không nộp bài'] df.head() Bài 5: import pandas as pd
ngay = ['1/3','2/3','3/3','4/3','5/3','6/3','7/3'] 19
giaban = [46,47,46,45,46,46,45]
giamua = [45,46,45.5,44.5,45,45.5,44.5]
dulieu = zip(ngay, giaban, giamua)
cot = ['Ngày', 'Giá vàng bán ra', 'Giá vàng mua vào']
df = pd.DataFrame(data = dulieu,columns=cot)
writer = pd.ExcelWriter('Banggiavang3.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1') writer.save() 20