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)