Thém phan tir vao danh sach" print"2.. Xóa phần tử khỏi đanh sách" print"3.. printf’Tich của {in_phan_sotu_sol, mau_sol} va {in_phan_sotu_so2, mau_so2} la: {in_phan_sotich_tu, tich_mau
Trang 1NGAN HANG NHA NUGC VIET NAM BO GIAO DUC VA DAO TAO
TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP.HÒ CHÍ MINH
BAI KIEM TRA GIUA KI
MON: LAP TRINH PYTHON CHO PHAN TICH DU LIEU
SVTH: Bui Quang Khai MSSV: 050611230467 Lớp: L10
Khóa học: 2024-2025
GVHD: Nguyễn Ngọc Giang
Trang 2CHUONG 1: GIOI THIEU LAP TRINH PYTHON
Trang 3print("Nhiét d6 (°F):", temp_f)
Chuong 2: BIEN VA PHEP TOAN
Bai 1
name = input("Nhap ho tén cua ban: ")
age = input("Nhap tudi cua ban: ")
address = input("Nhap địa chỉ của bạn: ")
phone_number = input("Nhập số điện thoại của bạn: ")
print("n - Thông Tin Cá Nhân -")
pmmnt(“Họ và tên :”, name)
print("Tudi “", age)
print("Dia chi :", address)
print("S6 điện thoại :", phone number)
so_o øIlua=a+b+c- so lon nhat- so_nho_ nhat
print("Số lớn nhất là:", so lon nhat)
print("Số nhỏ nhất là:", so nho nhat)
print("Số ở giữa là:", so _o_giua)
Bài 3:
R = float(nput( "Nhập bán kính R của đường tròn: "))
pI=3.14159
Trang 4dien_tich = pi* R*R
print("Dién tich cua đường tròn là:", đien_ tích)
Bài 4
gia trị met = float(input("Nhập giá trị do bằng mét: "))
gia trí dm = gia trị met * 10
gia trị cm = gia tri met * 100
print("Gia tri do bang centimet là:", gia trí cm)
print("Giá trị đo bằng đecimet là:", gia trị đm
Bài 5
sol = float(nput("Nhập số thứ nhất: "))
so2 = float(input("Nhập số thứ hai: "))
tong = sol + so2
hieu = sol - so2
tich = sol * so2
thuong = (sol / so2)
my_dict = { "name": "Khai", "age": 19, "city": "New York" }
key "age" my_dict["age"] = 30
print("Dictonary sau khi thay đổi:", my_ diet)
Bài 2:
empty_tuple = ()
Trang 5str_tuple = ("apple", "banana", "cherry")
mixed_tuple = (10, "hello", 3.14, "world")
print("Tuple rỗng:", empty_ tuple)
print("Tuple chứa các số nguyên:", int_tuple)
print("Tuple chứa các chuỗi:", str_tuple)
print("Tuple chứa cả số nguyên và chuỗi:", mixed_tuple) Bài 3:
my_tuple = ("apple", "banana", "cherry", "date", "fig")
index = int(input("Nhập index của phần tử bạn muốn truy cập: ")) print(f'Phân tử tai index {index} la: {my_tuple[index]}") Bai 4:
Trang 6print("Vui lòng nhập một số nguyên dương lớn hơn 0.")
Trang 7print("\nChon thao tac:")
print("1 Thém phan tir vao danh sach")
print("2 Xóa phần tử khỏi đanh sách")
print("3 Tìm kiếm phân tử trong danh sách")
print("4 Sắp xếp danh sách")
prumt(”5 In ra danh sách")
prumt(”6 Thoát chương trình")
choice = input("Nhập số tương ứng với thao tác bạn muốn thực hiện: ")
Trang 8print("Danh sách đã được sap xép theo thứ tự tang dan.")
elif order == "desc":
Trang 10def rut_gon(tu_so, mau_so):
if mau_so = 0:
return None # Tra vé None néu mau sé la 0 ucln = math.gcd(tu_so, mau_so) # Tim UCLN tu_so //=ueln
mau_so //=ucln
return tu_so, mau_so
def cong(tu_sol, mau_sol, tu_so2, mau_so2):
tu_so = tu_sol * mau_so2 + tu_so2 * mau_sol mau_so =mau_sol * mau_so2
return rut_gon(tu_so, mau_so)
def tru(tu_sol, mau_sol, tu_so2, mau_so2):
tu_so = tu_sol * mau_so2 - tu_so2 * mau_sol mau_so =mau_sol * mau_so2
return rut_gon(tu_so, mau_so)
def nhan(tu_sol, mau_sol, tu_so2, mau_so2):
tu_so = tu_sol * tu_so2
mau_so =mau_sol * mau_so2
return rut_gon(tu_so, mau_so)
def chia(tu_sol, mau_sol, tu_so2, mau_so2):
iftu sơ2 ==0: # Kiểm tra tử số của phân số thứ hai là 0 return None # Trả về None nếu không thế chia tu_so = tu_sol * mau so2
Trang 11mau so =mau_sol * tu so2
return rut_gon(tu_so, mau_so)
def in_phan_so(tu_so, mau_so):
retum f"{tu_so}/{mau_so}"
tu_sol = int(input("Nhập tử số của phân số 1: "))
mau_sol =int(input("Nhập mẫu số của phân số 1: "))
tu_so2 = int(input("Nhập tử số của phân số 2: "))
mau_so2 = int(input("Nhập mẫu số của phân số 2: "))
print(f'Phân số 1: {in phan so(tu sol, mau sol)}")
print(f'Phân số 2: {in phan so(tu_so2,mau so2)}")
tong tu, tong mau = cong(tu_sol, mau sol,tu so2, mau so2)
iftong_tu is not None:
print(f'Tổng của {in phan so(tu sol, mau sol)} và {in phan so(tu_so2, mau so2)} là: {in phan so(tong_tu,tong mau)}”)
hieu tu, hieu mau = tru(tu_sol, mau sol, tu so2, mau so2)
if hieu_tu is not None:
print('Hệ số của {in phan so(tu sol, mau _sol)} trừ {in_phan_so(tu_so2, mau_so2)} la: {in phan so(hieu tu, hieu_mau)}")
tích tu, tích mau = nhan(tu_sol, mau_sol, tu so2, mau so2)
if tich_tu is not None:
Trang 12print(f’Tich của {in_phan_so(tu_sol, mau_sol)} va {in_phan_so(tu_so2, mau_so2)} la: {in_phan_so(tich_tu, tich_mau)}")
thuong_tu, thuong_mau = chia(tu_sol, mau_sol, tu_so2, mau_so2)
if thuong_tu is not None:
prmt(f "Thương của {in_phan_so(tu_sol, mau_sol)} chia cho {in_phan_so(tu_so2, mau_so2)}
la {in_phan_so(thuong_tu, thuong_mau)}")
else:
print("Khéng thé chia cho phân số có tử số bằng 0.")
Bài 5: defthem sinh vien(danh sach, ma so, ho_ten, diem trung binh):
sinh vien = {ma so': ma so, ho_ten: ho ten, điểm trung binh: diem trung bình} danh sach.append(sinh_ vien)
defxoa sinh vien(danh sach, ma_ so):
for sinh vien in đanh sach:
sinh vien['ho_ten | =ho_ten
1fdiem_ trung binh:
sinh vien['diem_trung binh | = điểm trung bình
break
deftim kiem sinh vien(danh sach, ma so=None, ho_ten=Nome):
for sinh vien in đanh sach:
if (ma_so and sinh vien[ma so ] == ma so) or (ho_ten and ho_ten.lower() In
sinh vien[ho_ten |.lowerQ):
Trang 13print(f'Mã số: {sinh vien[ma_so']}, Họ tên: {sinh vien[ho_ten']}, Điểm trung bình: {sinh vien['diem trung bìinh]}")
defin danh sach sinh vien(danh sach):
prmt( "Danh sách sinh viên:")
for sinh vien in đanh sach:
print(f'Mã số: {sinh vien[ma_so']}, Họ tên: {sinh vien['ho_ten']}, Điểm trung bình: {sinh vien['diem trung bìinh]}")
danh sach sinh_ vien = []
while True:
print("\nNhap thong tin sinh vién:")
ma_so = input("Nhập mã số sinh viên: ")
ho_ten = input("Nhap họ tên sinh viên: ")
điem trung binh = float(input("Nhập điểm trung bình sinh viên: "))
them sinh vien(danh sach sinh vien, ma so, ho_ten, diem trung binh)
tiep_ tuc = input("Bạn có muốn nhập thêm sinh viên nữa không? (y/n): ")
if tiep_tuc.lowerQ) !='y’:
break
in danh sach sinh vien(danh sach sinh vien)
ma so tim kiem = input( "Nhập mã số sinh viên cần tìm kiếm: ")
trm kiem sinh vien(danh sach sinh vien, ma so=ma so tim kiem)
ma so _cap_ nhat = input("nNhập mã số sinh viên cần cập nhật thông tin: ")
điem_ moi = float(input("Nhập điểm mới: "))
sua thong tin sinh vien(danh sach sinh vien, ma so=ma so cap nhat,
diem trung bình=diem_ moi)
print("\nDanh sách sinh viên sau khi cập nhật điểm:")
in danh sach sinh vien(danh sach sinh vien)
ma_so_xoa = input("\nNhap ma so sinh viên cần xóa: ")
Trang 14xoa sinh vien(danh sach sinh vien, ma so=ma so xoa)
print("\nDanh sách sinh viên sau khi xóa sinh viên: ")
in danh sach sinh vien(danh sach sinh vien)
CHUONG 6: XU LI TEP TIN
Bai 1:
import os
old_filename = input("Nhap tén tép tin cit: ")
new_ filename = input("Nhap tén tép tin moi: ")
with open(ten_tep, "r") as tep_tin:
# Đọc các dòng và chuyển thành đanh sách các số nguyên
danh_sach_so = [int(dong.stripQ) for dong in tep_tin 1Ý dong.strip(Q.1sdigtQ)]
Trang 15print(f'Số nhỏ nhất trong tép tin la: {so_nho_nhat}")
ten_tep = input("Nhập tên tệp tin để ghi (kèm đuôi txt): ")
with open(ten_tep, "w") as tep_tin:
def remove_blank_lines(input_file, output_file):
# Kiém tra xem tép tin nguồn có tồn tại hay không
if not os.path.isfile(input_file):
print(f"Tệp tin {input_ñle} không tồn tai.")
Trang 16with open(input_file, 'r', encoding="utf-8') as infile:
lines = infile.readlinesQ)
non_blank lines = [line for line in lines if line.stripQ != "]
with open(output_file, 'w', encoding='utf-8') as outfile:
outfile.writelines(non_blank_lines)
print(f'Đã loại bé cac dong tréng va ghi vao {output_file}") input_file = input("Nhập tên tệp tin nguồn (ví du: input.txt): ") output_file = input("Nhap tén tép tin dich (vi du: output.txt): ") remove_blank_lines(input_file, output_file)
CHUONG 7: LAP TRINH DOI TUONG
def add_book(self, book):
"""Thêm sách vào thư viện."""
self.books.append(book)
pmnt(f'Đã thêm sách '{book}" vào thư viện ")
def remove_book(self, book):
"""Xóa sách khỏi thư viện."""
if book in self books:
self books.remove(book)
pmnt(f'Đã xóa sách '{book}' khỏi thư viện.")
Trang 17pmnt(f'Sách '{book}" không có trong thư vién.")
def search_book(self, book):
"Tim kiếm sách trong thư viện."""
Trang 18def init (self, name, price, quantity):
"""Khởi tạo các thuộc tính name, price va quantity"""
self name = name
self.price = price
self quantity = quantity
def update_price(self, new_price):
self quantity = new_quantity
print(f'Số lượng của sản phẩm {selfname} đã được cập nhật thành {self.quantity}.") def calculate_total_value(self):
"""Tính toán tổng giá trị sản phẩm"""
total_value = self.price * self quantity
return total_value
name = input("Nhập tên sản phẩm: ")
price = float(input("Nh4p gia san pham: "))
quantity = int(input("Nhập số lượng sản phẩm: "))
Trang 19product = Product(name, price, quantity)
new_price = float(input("Nhập giá mới của sản phẩm: "))
product.update_price(new_prlce) # Cập nhật giá
new_ quantity = int(input("Nhập số lượng mới của sản phẩm: "))
product.update_quantity(new_ quantity) # Cập nhật số lượng
total_value = product.caleulate_total_valueQ
print(f'Tổng giá trị của sản phâm {product.name} là: {total_value} USD.")
Bài 3:
class Time:
def_ Imt_ (sel£ hour=0, minute=0, second=0):
"Khoi tao cac thudc tinh hour, minute va second."""
self hour = hour
self minute = minute
self second = second
def set_time(self, hour, minute, second):
nHHGÀT đặt thời gian ates
selfhour = hour
selfminute = minute
self second = second
print(f’Thoi gian da được cài đặt: {selfhour:02d}: {selfminute:02d}: {self.second:02d}")
def get_time(self):
wT dy thời gian hiện tại
return f" {self hour:02d}: {self minute:02d}: {self second:02d}"
Trang 20def add_time(self, add_hours, add_minutes, add_seconds):
"""Công thêm thời gian vào thời gian hiện tại."""
self.second += add_seconds
self.minute += add_minutes + self.second // 60 # Cộng phút từ giây dư self second = self second % 60 # Gidi han giây từ 0 đến 59
self-hour += add_hours + self:minute // 60 # Céng gio tr phút dư
selfminute = selfminute % 60 # Giới hạn phút từ 0 đến 59
selfhour = selfhour % 24 # Giới hạn giờ từ 0 đến 23 (24 giờ)
pmnt(f”"Thời gian sau khi cộng thém: {self.get_time()}")
time = Time()
hour = int(input("Nhap gio: "))
minute = int(input("Nhap phut: "))
second = int(input("Nhap giây: "))
time.set_time(hour, minute, second)
current_time = time.get_time()
print(f’Thoi gian hién tai: {current_time}")
add_hours = int(input("Nhap s6 gid cần cộng thêm: "))
add_ minutes = int(input("Nhập số phút cần cộng thêm: "))
add_ seconds = int(nput("Nhập số giây cần cộng thêm: "))
time.add_time(add_hours, add_minutes, add_seconds)
Bai 4: class Date:
def init (self, day=1, month=1, year=2024):
"""Khởi tạo các thuộc tính day, month và year."""
self.day = day
selfmonth = month
self-year = year
Trang 21def set_date(self, day, month, year):
"Cai dat ngay thang nam."""
"""Kiêm tra xem năm có phải là năm nhuận hay không."""
if (self-year % 4 == 0 and self-year % 100 != 0) or (self-year % 400 == 0):
return True
else:
return False
date = Date()
day = int(input("Nhap ngay: "))
month = int(@input("Nhap thang: "))
year = int(input("Nhap nam: "))
date.set_date(day, month, year)
Trang 22print(f"Nam {date-year} không phai la nam nhuan.")
Bai 5:
class BankAccount:
def init (self, account_number, balance=0):
"""Khoi tao cac thudc tinh account_number va balance."""
selfaccount_number = account_number
self balance = balance
def deposit(self, amount):
"""Gửi tiền vào tài khoản,"""
if amount > 0:
self balance += amount
print(f'Đã gửi ƒamount} vào tài khoản Số dư hiện tại: {selfbalanee}") else:
print("Số tiền gửi phải lớn hơn 0.")
def withdraw(self, amount):
"""Rút tiễn từ tài khoản."""
if amount > 0:
if amount <= self balance:
self balance -= amount
print(f' Đã rút {amount} từ tài khoản Số dư hiện tại: {self'balance}") else:
print("S6 du khéng du dé thye hién giao dich.")
else:
print("S6 tiền rút phải lớn hơn 0.")
def get_balance(self):
Trang 23"""T Ấy số dự tài khoán hiện tại
return f'Số dư tài khoản {self.account_number} hiện tại là: {selfbalance}" account_number = input("Nhap s6 tài khoản: ")
Trang 25series] = pd.Series([10, 20, 30, 40, 50])
series2 = pd.Series([1, 2, 3, 4, 5])
addition = series1 + series2
subtraction = series] - series2
multiplication = series! * series2
division = series! / series2
Trang 26ten = input("Nhập tên người can tim : ")
cot = input("Nhap tên cột cần tìm : ")
if ten in df['Tén'] values:
row_index = df[df['Tén'] == ten].index[0]
result = df.loc[row_index, cot]
print(f" {cot} cua {ten} la: {result}")