▶️ 2.3 Viết và chạy chương trình đầu tiên
📖 Giới thiệu
Đây là khoảnh khắc đặc biệt - bạn sẽ viết và chạy chương trình Python đầu tiên! Từ "Hello World" đơn giản đến các chương trình tương tác thú vị, bài học này sẽ đưa bạn vào thế giới lập trình thực sự.
Mục tiêu bài học:
- Viết và chạy chương trình Python đầu tiên
- Hiểu quy trình phát triển phần mềm cơ bản
- Biết cách debug và xử lý lỗi đơn giản
🔧 Cú pháp
Cấu trúc file Python cơ bản:
# Bước 1: Import thư viện (nếu cần)
import math
# Bước 2: Định nghĩa hàm (nếu có)
def ham_cua_toi():
return "Hello"
# Bước 3: Code chính
print("Chương trình bắt đầu")
# Logic chương trình ở đây
print("Chương trình kết thúc")Cách chạy file Python:
# Cách 1: Từ terminal/command prompt
python ten_file.py
# Cách 2: Từ Python shell
exec(open('ten_file.py').read())
# Cách 3: Trong IDE (F5 hoặc Run button)🔬 Phân tích & Giải thích chi tiết
1. 🎯 Quy trình phát triển chương trình
Bước 1: Phân tích bài toán
- Xác định input (đầu vào)
- Xác định output (đầu ra)
- Thiết kế thuật toán
Bước 2: Viết code
- Tạo file .py
- Viết code theo thuật toán
- Thêm comment giải thích
Bước 3: Test và debug
- Chạy thử chương trình
- Tìm và sửa lỗi
- Test với nhiều trường hợp
Bước 4: Hoàn thiện
- Thêm xử lý lỗi
- Cải thiện giao diện
- Viết documentation
2. 📁 Quản lý file và folder
Cách đặt tên file:
- Sử dụng chữ thường
- Thay khoảng trắng bằng gạch dưới
- Tên phải có ý nghĩa
# ✅ Tên file tốt
bai_tap_1.py
may_tinh_bmi.py
game_doan_so.py
# ❌ Tên file tệ
BAI1.py
bt 1.py
asdasd.pyCấu trúc folder project:
python-hoc-tap/
├── bai-hoc-1/
│ ├── hello_world.py
│ └── may_tinh_don_gian.py
├── bai-hoc-2/
│ └── bien_va_kieu_du_lieu.py
└── du-an/
└── quan_ly_hoc_sinh.py3. 🎨 Best practices khi viết code
Comment có ý nghĩa:
# ✅ Comment tốt
# Tính BMI từ cân nặng và chiều cao
bmi = can_nang / (chieu_cao ** 2)
# ❌ Comment thừa
# Gán giá trị 5 cho biến x
x = 5Đặt tên biến rõ ràng:
# ✅ Tên biến tốt
ten_hoc_sinh = "Minh"
diem_toan = 8.5
so_luong_hoc_sinh = 30
# ❌ Tên biến tệ
a = "Minh"
x = 8.5
n = 30💻 Ví dụ minh họa
Ví dụ 1: Hello World - Chương trình đầu tiên
# hello_world.py
# Chương trình Python đầu tiên của tôi!
print("🎉 Xin chào thế giới!")
print("🐍 Tôi đã viết chương trình Python đầu tiên!")
# Thêm thông tin cá nhân
ten_toi = "Học viên Python"
print(f"👤 Tên tôi là: {ten_toi}")
# Tính toán đơn giản
nam_hien_tai = 2024
nam_sinh = 2000
tuoi = nam_hien_tai - nam_sinh
print(f"🎂 Tôi {tuoi} tuổi")
print("🚀 Hành trình học Python bắt đầu từ đây!")Cách chạy:
- Lưu file với tên
hello_world.py - Mở terminal/command prompt
- Điều hướng đến folder chứa file
- Gõ:
python hello_world.py
Kết quả:
🎉 Xin chào thế giới!
🐍 Tôi đã viết chương trình Python đầu tiên!
👤 Tên tôi là: Học viên Python
🎂 Tôi 24 tuổi
🚀 Hành trình học Python bắt đầu từ đây!Ví dụ 2: Chương trình tương tác - Giới thiệu bản thân
# gioi_thieu_ban_than.py
# Chương trình cho phép người dùng giới thiệu bản thân
print("=" * 50)
print("🤖 CHÀO MỪNG ĐẾN VỚI CHƯƠNG TRÌNH GIỚI THIỆU")
print("=" * 50)
# Thu thập thông tin từ người dùng
print("\n📝 Hãy cho tôi biết thông tin về bạn:")
ten = input("👤 Tên của bạn: ")
tuoi = int(input("🎂 Tuổi của bạn: "))
que_quan = input("🏠 Quê quán: ")
so_thich = input("❤️ Sở thích: ")
# Xử lý thông tin
print(f"\n🎯 THÔNG TIN CỦA BẠN")
print("-" * 30)
print(f"Tên: {ten}")
print(f"Tuổi: {tuoi}")
print(f"Quê quán: {que_quan}")
print(f"Sở thích: {so_thich}")
# Phân tích và đưa ra nhận xét
print(f"\n💬 NHẬN XÉT:")
if tuoi < 18:
print(f"🌟 {ten} còn rất trẻ và nhiều tiềm năng!")
elif tuoi < 30:
print(f"💪 {ten} đang ở độ tuổi vàng để học hỏi!")
else:
print(f"🧠 {ten} có nhiều kinh nghiệm quý báu!")
print(f"🏞️ {que_quan} chắc chắn là một nơi tuyệt vời!")
print(f"🎨 Sở thích {so_thich} thật thú vị!")
# Tính năm sinh
nam_sinh = 2024 - tuoi
print(f"\n📅 Bạn sinh năm: {nam_sinh}")
print(f"\n🎉 Rất vui được làm quen với bạn, {ten}!")
print("🐍 Chúc bạn học Python thành công!")Ví dụ 3: Chương trình có xử lý lỗi
# may_tinh_thong_minh.py
# Máy tính với xử lý lỗi và menu lựa chọn
def hien_thi_menu():
"""Hiển thị menu lựa chọn"""
print("\n🧮 MÁY TÍNH THÔNG MINH")
print("=" * 25)
print("1. ➕ Cộng")
print("2. ➖ Trừ")
print("3. ✖️ Nhân")
print("4. ➗ Chia")
print("5. 🔢 Lũy thừa")
print("0. 🚪 Thoát")
print("=" * 25)
def nhap_so(thong_bao):
"""Nhập số với xử lý lỗi"""
while True:
try:
so = float(input(thong_bao))
return so
except ValueError:
print("❌ Vui lòng nhập một số hợp lệ!")
def tinh_toan(lua_chon, so_a, so_b):
"""Thực hiện phép tính theo lựa chọn"""
if lua_chon == 1:
return so_a + so_b, "+"
elif lua_chon == 2:
return so_a - so_b, "-"
elif lua_chon == 3:
return so_a * so_b, "*"
elif lua_chon == 4:
if so_b != 0:
return so_a / so_b, "/"
else:
return None, "/"
elif lua_chon == 5:
return so_a ** so_b, "^"
# Chương trình chính
print("🎉 Chào mừng đến với Máy tính Thông minh!")
while True:
hien_thi_menu()
try:
lua_chon = int(input("👉 Chọn phép tính (0-5): "))
if lua_chon == 0:
print("👋 Cảm ơn bạn đã sử dụng! Tạm biệt!")
break
elif lua_chon in [1, 2, 3, 4, 5]:
# Nhập hai số
so_a = nhap_so("🔢 Nhập số thứ nhất: ")
so_b = nhap_so("🔢 Nhập số thứ hai: ")
# Tính toán
ket_qua, phep_toan = tinh_toan(lua_chon, so_a, so_b)
# Hiển thị kết quả
if ket_qua is not None:
print(f"\n🎯 Kết quả: {so_a} {phep_toan} {so_b} = {ket_qua}")
else:
print("❌ Lỗi: Không thể chia cho 0!")
else:
print("❌ Lựa chọn không hợp lệ! Vui lòng chọn từ 0-5.")
except ValueError:
print("❌ Vui lòng nhập một số nguyên!")
input("\n⏯️ Nhấn Enter để tiếp tục...")🏋️ Thực hành
Bài tập 1: Hello World cá nhân
Nhiệm vụ: Tạo chương trình giới thiệu bản thân
# TODO: Viết chương trình hiển thị:
# - Tên của bạn
# - Tuổi và năm sinh
# - Sở thích
# - Mục tiêu học PythonĐáp án:
# my_first_program.py
print("🌟 GIỚI THIỆU BẢN THÂN")
print("=" * 30)
ten = "Tên của bạn" # Thay bằng tên thật
tuoi = 20 # Thay bằng tuổi thật
so_thich = "đọc sách và học lập trình"
muc_tieu = "trở thành lập trình viên Python"
print(f"👋 Xin chào! Tôi là {ten}")
print(f"🎂 Tôi {tuoi} tuổi")
print(f"❤️ Tôi thích {so_thich}")
print(f"🎯 Mục tiêu: {muc_tieu}")
nam_sinh = 2024 - tuoi
print(f"📅 Năm sinh: {nam_sinh}")
print("🐍 Tôi đang học Python!")Bài tập 2: Game đơn giản
Nhiệm vụ: Tạo game đoán tuổi
# TODO: Viết chương trình:
# 1. Người dùng nhập năm sinh
# 2. Chương trình tính và hiển thị tuổi
# 3. Đưa ra nhận xét về độ tuổiĐáp án:
# game_doan_tuoi.py
print("🎮 GAME ĐOÁN TUỔI")
print("=" * 20)
# Nhập thông tin
ten = input("👤 Tên của bạn: ")
nam_sinh = int(input("📅 Bạn sinh năm nào? "))
# Tính tuổi
nam_hien_tai = 2024
tuoi = nam_hien_tai - nam_sinh
# Hiển thị kết quả
print(f"\n🎯 KẾT QUẢ:")
print(f"👋 Xin chào {ten}!")
print(f"🎂 Bạn {tuoi} tuổi")
# Nhận xét
if tuoi < 13:
nhan_xet = "🧒 Bạn còn rất nhỏ!"
elif tuoi < 18:
nhan_xet = "👦 Bạn đang ở tuổi teen!"
elif tuoi < 30:
nhan_xet = "🧑 Bạn đang ở độ tuổi vàng!"
elif tuoi < 60:
nhan_xet = "👨 Bạn đang trưởng thành!"
else:
nhan_xet = "👴 Bạn có nhiều kinh nghiệm!"
print(f"💬 {nhan_xet}")
print("🌟 Chúc bạn luôn vui vẻ và khỏe mạnh!")Bài tập 3: Chương trình thực tế
Nhiệm vụ: Tính tiền điện hàng tháng
# TODO: Viết chương trình tính tiền điện:
# - Bậc 1 (0-50 kWh): 1,678 VNĐ/kWh
# - Bậc 2 (51-100 kWh): 1,734 VNĐ/kWh
# - Bậc 3 (101-200 kWh): 2,014 VNĐ/kWh
# - Bậc 4 (201+ kWh): 2,536 VNĐ/kWhĐáp án:
# tinh_tien_dien.py
print("⚡ TÍNH TIỀN ĐIỆN HÀNG THÁNG")
print("=" * 35)
# Nhập thông tin
ho_ten = input("👤 Họ tên chủ hộ: ")
so_kwh = float(input("🔌 Số kWh sử dụng trong tháng: "))
# Định nghĩa bậc giá
BAC_1 = 50
BAC_2 = 100
BAC_3 = 200
GIA_BAC_1 = 1678
GIA_BAC_2 = 1734
GIA_BAC_3 = 2014
GIA_BAC_4 = 2536
# Tính tiền điện
tien_dien = 0
if so_kwh <= BAC_1:
tien_dien = so_kwh * GIA_BAC_1
elif so_kwh <= BAC_2:
tien_dien = BAC_1 * GIA_BAC_1 + (so_kwh - BAC_1) * GIA_BAC_2
elif so_kwh <= BAC_3:
tien_dien = (BAC_1 * GIA_BAC_1 +
(BAC_2 - BAC_1) * GIA_BAC_2 +
(so_kwh - BAC_2) * GIA_BAC_3)
else:
tien_dien = (BAC_1 * GIA_BAC_1 +
(BAC_2 - BAC_1) * GIA_BAC_2 +
(BAC_3 - BAC_2) * GIA_BAC_3 +
(so_kwh - BAC_3) * GIA_BAC_4)
# Hiển thị hóa đơn
print(f"\n📄 HÓA ĐƠN TIỀN ĐIỆN")
print("=" * 30)
print(f"👤 Chủ hộ: {ho_ten}")
print(f"⚡ Số kWh: {so_kwh}")
print(f"💰 Tiền điện: {tien_dien:,.0f} VNĐ")
print("=" * 30)
print("🏠 Cảm ơn quý khách!")📋 Tóm tắt
Quy trình viết chương trình Python:
📋 Phân tích bài toán
- Xác định input/output
- Thiết kế thuật toán
- Chia nhỏ bài toán
💻 Viết code
python# Template cơ bản # Phần import # Phần định nghĩa hàm # Phần code chính🔍 Test và debug
- Chạy thử với dữ liệu mẫu
- Xử lý các trường hợp lỗi
- Cải thiện giao diện
📁 Quản lý file
- Đặt tên file có ý nghĩa
- Tổ chức folder hợp lý
- Viết comment rõ ràng
Lỗi thường gặp và cách khắc phục:
| Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
SyntaxError | Lỗi cú pháp | Kiểm tra dấu ngoặc, dấu hai chấm |
NameError | Biến chưa định nghĩa | Khai báo biến trước khi dùng |
ValueError | Sai kiểu dữ liệu | Kiểm tra input của người dùng |
IndentationError | Lỗi thụt lề | Dùng Tab hoặc 4 spaces nhất quán |
Mẹo để viết code tốt:
- 📝 Comment rõ ràng: Giải thích ý tưởng, không giải thích code
- 🏷️ Tên biến có ý nghĩa: Đọc code như đọc câu chuyện
- 🧩 Chia nhỏ chức năng: Mỗi hàm làm một việc cụ thể
- 🔍 Test thường xuyên: Chạy code sau mỗi thay đổi nhỏ
Chuẩn bị cho bài tiếp theo:
Bài tiếp theo sẽ học về ⌨️ Lệnh input() - cách tương tác với người dùng để tạo ra các chương trình động và thú vị!
🎉 Chúc mừng! Bạn đã hoàn thành chương trình Python đầu tiên!
💪 Từ giờ, mỗi ngày viết ít nhất một chương trình Python nhỏ để rèn luyện kỹ năng.