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!
Môn: Công nghệ thông tin (BLA2001)
Trường: Đại học Quy Nhơn
Thông tin:
Tác giả:
Preview text:
BÀI THỰC HÀNH TIN HỌC CƠ SỞ
DÀNH CHO KHỐI NGÀNH KINH TẾ 1
BÀI 1: PYTHON VÀ MÔI TRƯỜNG LÀM VIỆC
1.1. Làm quen môi trường làm việc
Bài 1. Môi trường làm việc Anaconda 1. Cài đặt Python:
- Download phần mềm: 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õ lệnh: pip install jupyter (máy tính phải kết nối internet) 2. Tạo Notebook Mở Jupyter Notebook
Chạy Jupyter Notebook:
Gõ lệnh: 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 vừa tạo (Untitled Folder)
- Chọn Rename rồi đặt lại 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:
Phần 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.
Phần 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. ố
Phần 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. Phần 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 nội 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 mẫu;
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 tập thực 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: CẤU TRÚC ĐIỀU KHIỂN 1. Bài mẫu:
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. Gợi ý:
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 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.
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 KIỂU DỮ LIỆU 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 VIỆC CÁC LOẠI FILE DỮ LIỆU
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