Skip to main content

Bài tập về nhà - Buổi 6: Lập trình Python cơ bản

Yêu cầu chung

  1. Chọn làm ít nhất 2 trong 6 bài tập dưới đây.
  2. 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.
  3. 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.
  4. 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

  1. 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.
  2. 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ó)
  3. Đừ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()

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:

  1. Nhập nhiệt độ Celsius từ người dùng
  2. Chuyển đổi chuỗi nhập vào thành số thực
  3. Áp dụng công thức F = C × 9/5 + 32
  4. 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:

  1. Nhập tổng số giây từ người dùng
  2. Tính số giờ bằng cách chia tổng số giây cho 3600 (số giây trong 1 giờ)
  3. Tính số phút bằng cách chia phần dư cho 60 (số giây trong 1 phút)
  4. Số giây còn lại là phần dư sau khi chia cho 60
  5. 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:

  1. Nhập số từ người dùng
  2. Chuyển đổi chuỗi nhập vào thành số thực
  3. 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
  4. 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:

  1. Nhập 3 số từ người dùng
  2. Chuyển đổi chuỗi nhập vào thành số thực
  3. So sánh 3 số với nhau bằng cấu trúc if-elif-else
  4. 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:

  1. Nhập điểm trung bình từ người dùng
  2. Chuyển đổi chuỗi nhập vào thành số thực
  3. Sử dụng cấu trúc if-elif-else để xếp loại học lực
  4. 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:

  1. Nhập năm từ người dùng
  2. Chuyển đổi chuỗi nhập vào thành số nguyên
  3. Á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
  4. 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ả!