Bài tập về nhà - Buổi 6: Lập trình Python cơ bản
Yêu cầu chung
- Chọn làm ít nhất 2 trong 6 bài tập dưới đây.
- Sử dụng AI (ChatGPT, Gemini, v.v.) để tìm hiểu công thức, cách giải và gỡ lỗi cho bài toán.
- Sản phẩm cần nộp:
- Link chia sẻ cuộc hội thoại với AI.
- Đoạn code Python hoàn chỉnh và chạy đúng.
- Lưu ý: Bạn phải thực sự hiểu đoạn code mình đã làm và sẵn sàng giải thích lại bất kỳ phần nào trong đó ở buổi học tiếp theo.
Danh sách bài tập
🟢 Nhóm 1: Biến, Kiểu dữ liệu và Toán tử
Bài 1: Đổi nhiệt độ từ Celsius sang Fahrenheit
Viết chương trình nhập vào nhiệt độ theo độ Celsius và chuyển đổi sang độ Fahrenheit. (Công thức: F = C × 9/5 + 32)
Bài 2: Đổi số giây thành giờ:phút:giây
Viết chương trình nhập vào một số giây và chuyển đổi thành định dạng giờ:phút:giây. (Ví dụ: 3661 giây = 1 giờ : 1 phút : 1 giây)
Bài 3: Tính căn bậc hai của một số
Viết chương trình nhập vào một số và tính căn bậc hai của số đó.
🟡 Nhóm 2: Câu lệnh điều kiện (if, else)
Bài 4: So sánh 3 số và tìm số lớn nhất
Viết chương trình nhập vào 3 số và tìm số lớn nhất trong 3 số đó.
Bài 5: Xếp loại học lực dựa trên điểm trung bình
Viết chương trình nhập vào điểm trung bình và xếp loại học lực theo quy tắc:
- Điểm >= 9.0: Xuất sắc
- 8.0 <= Điểm < 9.0: Giỏi
- 7.0 <= Điểm < 8.0: Khá
- 5.0 <= Điểm < 7.0: Trung bình
- Điểm < 5.0: Yếu
Bài 6: Kiểm tra năm nhuận
Viết chương trình nhập vào một năm và kiểm tra xem đó có phải là năm nhuận hay không. (Năm nhuận là năm chia hết cho 4 nhưng không chia hết cho 100, hoặc chia hết cho 400)
Hướng dẫn
- Sử dụng trang web online-python.com hoặc replit.com để viết và chạy code Python trực tuyến mà không cần cài đặt.
- Khi gặp khó khăn, hãy đặt câu hỏi cụ thể cho AI, bao gồm:
- Đề bài bạn đang làm
- Đoạn code bạn đã viết
- Lỗi cụ thể bạn gặp phải (nếu có)
- Đừng quên sử dụng các kiến thức đã học:
- Nhập dữ liệu với
input() - Chuyển đổi kiểu dữ liệu với
int(),float() - Cấu trúc điều kiện
if-else - In kết quả với
print()
- Nhập dữ liệu với
Thời hạn nộp bài
Hạn chót nộp bài: 03/07/2025
Chữa bài mẫu
Dưới đây là hướng tiếp cận và mã Python mẫu cho từng bài tập:
🟢 Nhóm 1: Biến, Kiểu dữ liệu và Toán tử
Bài 1: Đổi nhiệt độ từ Celsius sang Fahrenheit
Hướng tiếp cận:
- Nhập nhiệt độ Celsius từ người dùng
- Chuyển đổi chuỗi nhập vào thành số thực
- Áp dụng công thức F = C × 9/5 + 32
- Hiển thị kết quả
Mã Python mẫu:
# Chương trình chuyển đổi nhiệt độ từ Celsius sang Fahrenheit
# Nhập nhiệt độ Celsius từ người dùng
celsius = input("Nhập nhiệt độ theo độ Celsius: ")
# Chuyển đổi chuỗi nhập vào thành số thực
celsius = float(celsius)
# Áp dụng công thức chuyển đổi
fahrenheit = celsius * 9/5 + 32
# Hiển thị kết quả với 2 chữ số thập phân
print(f"{celsius}°C = {fahrenheit:.2f}°F")
Bài 2: Đổi số giây thành giờ:phút:giây
Hướng tiếp cận:
- Nhập tổng số giây từ người dùng
- Tính số giờ bằng cách chia tổng số giây cho 3600 (số giây trong 1 giờ)
- Tính số phút bằng cách chia phần dư cho 60 (số giây trong 1 phút)
- Số giây còn lại là phần dư sau khi chia cho 60
- Hiển thị kết quả theo định dạng giờ:phút:giây
Mã Python mẫu:
# Chương trình chuyển đổi số giây thành giờ:phút:giây
# Nhập tổng số giây từ người dùng
tong_so_giay = input("Nhập số giây: ")
# Chuyển đổi chuỗi nhập vào thành số nguyên
tong_so_giay = int(tong_so_giay)
# Tính số giờ, phút, giây
gio = tong_so_giay // 3600 # Phép chia lấy phần nguyên
so_giay_con_lai = tong_so_giay % 3600 # Phép chia lấy phần dư
phut = so_giay_con_lai // 60
giay = so_giay_con_lai % 60
# Hiển thị kết quả
print(f"{tong_so_giay} giây = {gio} giờ : {phut} phút : {giay} giây")
Bài 3: Tính căn bậc hai của một số
Hướng tiếp cận:
- Nhập số từ người dùng
- Chuyển đổi chuỗi nhập vào thành số thực
- Sử dụng toán tử ** 0.5 hoặc hàm sqrt() từ thư viện math để tính căn bậc hai
- Hiển thị kết quả
Mã Python mẫu:
# Chương trình tính căn bậc hai của một số
# Phương pháp 1: Sử dụng toán tử ** 0.5
# Nhập số từ người dùng
so = input("Nhập một số: ")
# Chuyển đổi chuỗi nhập vào thành số thực
so = float(so)
# Tính căn bậc hai
can_bac_hai = so ** 0.5
# Hiển thị kết quả
print(f"Căn bậc hai của {so} là: {can_bac_hai}")
# Phương pháp 2: Sử dụng hàm sqrt() từ thư viện math
import math
# Nhập số từ người dùng
so = input("Nhập một số: ")
# Chuyển đổi chuỗi nhập vào thành số thực
so = float(so)
# Tính căn bậc hai
can_bac_hai = math.sqrt(so)
# Hiển thị kết quả
print(f"Căn bậc hai của {so} là: {can_bac_hai}")
🟡 Nhóm 2: Câu lệnh điều kiện (if, else)
Bài 4: So sánh 3 số và tìm số lớn nhất
Hướng tiếp cận:
- Nhập 3 số từ người dùng
- Chuyển đổi chuỗi nhập vào thành số thực
- So sánh 3 số với nhau bằng cấu trúc if-elif-else
- Hiển thị số lớn nhất
Mã Python mẫu:
# Chương trình tìm số lớn nhất trong 3 số
# Nhập 3 số từ người dùng
so_thu_nhat = float(input("Nhập số thứ nhất: "))
so_thu_hai = float(input("Nhập số thứ hai: "))
so_thu_ba = float(input("Nhập số thứ ba: "))
# Phương pháp 1: Sử dụng if-elif-else
if so_thu_nhat >= so_thu_hai and so_thu_nhat >= so_thu_ba:
so_lon_nhat = so_thu_nhat
elif so_thu_hai >= so_thu_nhat and so_thu_hai >= so_thu_ba:
so_lon_nhat = so_thu_hai
else:
so_lon_nhat = so_thu_ba
print(f"Số lớn nhất là: {so_lon_nhat}")
# Phương pháp 2: Sử dụng hàm max()
so_lon_nhat = max(so_thu_nhat, so_thu_hai, so_thu_ba)
print(f"Số lớn nhất là: {so_lon_nhat}")
Bài 5: Xếp loại học lực dựa trên điểm trung bình
Hướng tiếp cận:
- Nhập điểm trung bình từ người dùng
- Chuyển đổi chuỗi nhập vào thành số thực
- Sử dụng cấu trúc if-elif-else để xếp loại học lực
- Hiển thị kết quả
Mã Python mẫu:
# Chương trình xếp loại học lực dựa trên điểm trung bình
# Nhập điểm trung bình từ người dùng
diem_trung_binh = float(input("Nhập điểm trung bình: "))
# Xếp loại học lực
if diem_trung_binh >= 9.0:
xep_loai = "Xuất sắc"
elif diem_trung_binh >= 8.0: # Điểm từ 8.0 đến dưới 9.0
xep_loai = "Giỏi"
elif diem_trung_binh >= 7.0: # Điểm từ 7.0 đến dưới 8.0
xep_loai = "Khá"
elif diem_trung_binh >= 5.0: # Điểm từ 5.0 đến dưới 7.0
xep_loai = "Trung bình"
else: # Điểm dưới 5.0
xep_loai = "Yếu"
# Hiển thị kết quả
print(f"Điểm trung bình: {diem_trung_binh}")
print(f"Xếp loại học lực: {xep_loai}")
Bài 6: Kiểm tra năm nhuận
Hướng tiếp cận:
- Nhập năm từ người dùng
- Chuyển đổi chuỗi nhập vào thành số nguyên
- Áp dụng quy tắc kiểm tra năm nhuận:
- Năm chia hết cho 4 nhưng không chia hết cho 100, hoặc
- Năm chia hết cho 400
- Hiển thị kết quả
Mã Python mẫu:
# Chương trình kiểm tra năm nhuận
# Nhập năm từ người dùng
nam = int(input("Nhập năm: "))
# Kiểm tra năm nhuận
# Một năm là năm nhuận nếu:
# - Chia hết cho 4 nhưng không chia hết cho 100, hoặc
# - Chia hết cho 400
if (nam % 4 == 0 and nam % 100 != 0) or (nam % 400 == 0):
ket_qua = "là năm nhuận"
else:
ket_qua = "không phải là năm nhuận"
# Hiển thị kết quả
print(f"Năm {nam} {ket_qua}")
Chúc các bạn học tập hiệu quả!