Bài tập Python từ cơ bản đến nâng cao – Phần 1

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Bài tập Python từ cơ bản đến nâng cao – Phần 1

Dưới đây là danh sách 10 bài tập Python từ cơ bản đến nâng cao kèm lời giải

Bài 1: Kiểm tra số chẵn lẻ

Đề bài: Viết chương trình nhập vào một số nguyên và kiểm tra xem số đó là chẵn hay lẻ.

Giải:

n = int(input("Nhập một số nguyên: "))
if n % 2 == 0:
    print(f"{n} là số chẵn")
else:
    print(f"{n} là số lẻ")

Bài 2: Tính tổng các số từ 1 đến n

Đề bài: Viết chương trình nhập vào một số nguyên dương n và tính tổng từ 1 đến n.

Giải:

n = int(input("Nhập số nguyên dương n: "))
tong = sum(range(1, n + 1))
print(f"Tổng từ 1 đến {n} là: {tong}")

Bài 3: Kiểm tra số nguyên tố

Đề bài: Viết chương trình kiểm tra một số nguyên n có phải số nguyên tố hay không.

Giải:

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

n = int(input("Nhập một số: "))
if is_prime(n):
    print(f"{n} là số nguyên tố")
else:
    print(f"{n} không phải số nguyên tố")

Bài 4: Đảo ngược một chuỗi

Đề bài: Nhập vào một chuỗi và in ra chuỗi đảo ngược.

Giải:

s = input("Nhập chuỗi: ")
print("Chuỗi đảo ngược:", s[::-1])

Bài 5: Tính giai thừa của một số

Đề bài: Viết chương trình nhập vào một số nguyên dương n và tính n!.

Giải:

def factorial(n):
    if n == 0 or n == 1:
        return 1
    return n * factorial(n - 1)

n = int(input("Nhập số nguyên dương: "))
print(f"{n}! = {factorial(n)}")

Bài 6: Tìm số lớn nhất trong danh sách

Đề bài: Viết chương trình nhập vào một danh sách số nguyên và tìm số lớn nhất.

Giải:

lst = list(map(int, input("Nhập danh sách số, cách nhau bởi dấu cách: ").split()))
print(f"Số lớn nhất trong danh sách là: {max(lst)}")

Bài 7: Kiểm tra chuỗi đối xứng (Palindrome)

Đề bài: Viết chương trình kiểm tra một chuỗi có phải là Palindrome hay không.

Giải:

s = input("Nhập chuỗi: ")
if s == s[::-1]:
    print("Chuỗi là Palindrome")
else:
    print("Chuỗi không phải Palindrome")

Bài 8: Fibonacci đệ quy

Đề bài: Viết chương trình nhập vào một số n và in ra số Fibonacci thứ n.

Giải:

def fibonacci(n):
    if n <= 0:
        return "Không hợp lệ"
    elif n == 1 or n == 2:
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)

n = int(input("Nhập số nguyên dương: "))
print(f"Số Fibonacci thứ {n} là: {fibonacci(n)}")

Bài 9: Đếm số lần xuất hiện của từng từ trong chuỗi

Đề bài: Viết chương trình nhập vào một đoạn văn bản và đếm số lần xuất hiện của từng từ.

Giải:

from collections import Counter

s = input("Nhập đoạn văn bản: ").lower()
words = s.split()
word_count = Counter(words)

for word, count in word_count.items():
    print(f"Từ '{word}' xuất hiện {count} lần")

Bài 10: Sắp xếp danh sách số nguyên

Đề bài: Viết chương trình nhập vào một danh sách số nguyên và sắp xếp theo thứ tự tăng dần.

Giải:

lst = list(map(int, input("Nhập danh sách số nguyên, cách nhau bởi dấu cách: ").split()))
lst.sort()
print("Danh sách sau khi sắp xếp:", lst)

 

Bài viết liên quan