100 bài lập trình python có lời giải
DANH SÁCH TÓM TẮT:
Nói thiệt với bà con mình, giờ mở máy tính ra mà không biết Python thì cũng giống như chạy xe mà không biết số vậy đó. Python giờ có mặt khắp nơi:
Lập trình phần mềm
Trí tuệ nhân tạo (AI):
AI giúp máy móc:
📚 Học từ dữ liệu
🧠 Suy luận & ra quyết định
👀 Nhận diện hình ảnh, khuôn mặt
🎤 Nghe – hiểu giọng nói
✍️ Viết văn bản, trả lời câu hỏi
🚗 Lái xe tự động
🔎 Google: gợi ý tìm kiếm
📱 Facebook / TikTok: đề xuất video, bài viết
🎙️ Trợ lý ảo: Siri, Google Assistant
🧑🏫 Học tập: chấm bài tự động, trợ giảng AI
🏥 Y tế: phát hiện bệnh qua ảnh X-quang
🎮 Game: nhân vật tự chơi, tự học chiến thuật
❌ Chưa
✔️ AI chỉ giỏi trong phạm vi được huấn luyện
✔️ Không có cảm xúc, ý thức thật như con người
Rất liên quan 👨💻
Python là ngôn ngữ phổ biến nhất cho AI
Dùng nhiều trong thi Tin học, nghiên cứu, sản phẩm thực tế
Với nền tảng Tin học của bạn, học AI sớm là lợi thế rất lớn 🚀
Phân tích dữ liệu
Tự động hóa công việc
Dạy học cho học sinh từ tiểu học tới đại học
Hình ảnh này thầy tạo tự động bằng AI ( AI là viết tắt của Artificial Intelligence – Trí tuệ nhân tạo )
Nhưng cái khó của người mới học là:
👉 Không biết bắt đầu từ đâu
👉 Học lý thuyết hoài mà không biết làm bài tập
👉 Thiếu bài tập có lời giải rõ ràng
Hiểu được điều đó, bộ tài liệu “100 bài lập trình Python có lời giải cơ bản đến nâng cao PDF” ra đời để giải quyết đúng mấy cái khó này.
Đây là bộ tài liệu được biên soạn từ căn bản tới nâng cao, chia cấp độ rõ ràng, có lời giải chi tiết – dễ hiểu – dễ làm theo, rất phù hợp cho:
Người chưa biết gì về Python
Học sinh THCS – THPT
Sinh viên ngành CNTT
Người đi làm muốn chuyển hướng sang lập trình
Giáo viên, trung tâm tin học dùng làm tài liệu giảng dạy
Cài đặt Phần mềm lập trình Python
Phần này dành cho người mới, học từ từ, không bị ngợp:
Biến, kiểu dữ liệu
Câu lệnh if – else
Vòng lặp for, while
Nhập – xuất dữ liệu
Bài tập tính toán đơn giản
Xử lý chuỗi, số, danh sách
👉 Mỗi bài đều có lời giải, giải thích từng dòng code, đọc là hiểu liền, không rối não.
Bắt đầu vô “đô” hơn chút, rèn tư duy lập trình:
Hàm (function)
List, tuple, dictionary
Bài toán xử lý mảng
Tìm số lớn nhất, nhỏ nhất
Bài toán thực tế gần gũi
Tối ưu code
👉 Phù hợp cho người đã biết căn bản, muốn làm bài cho cứng tay.
Phần này là để lên trình:
Bài toán tổng hợp
Tư duy thuật toán
Bài tập dạng thi học sinh giỏi
Chuẩn bị cho học AI – Data – Automation
Phân tích cách giải bài toán
👉 Học xong phần này là không còn sợ Python nữa.
👉 Phụ huynh muốn con học lập trình từ sớm
👉 Học sinh chuyên Tin cần bài tập luyện thêm
👉 Sinh viên cần tài liệu thực hành Python
👉 Người đi làm muốn học thêm kỹ năng mới
👉 Trung tâm tin học cần giáo trình giảng dạy
Miễn là bạn muốn học Python cho đàng hoàng, thì bộ này rất đáng để tham khảo.
Nhiều người học Python thất bại không phải vì dở, mà vì:
❌ Chỉ coi video
❌ Chỉ đọc lý thuyết
❌ Không chịu làm bài tập
Bộ 100 bài lập trình Python có lời giải PDF này giúp bạn:
👉 Đọc → Hiểu → Làm → So lại lời giải
👉 Mỗi ngày 1–2 bài là tiến bộ rõ ràng
Học kiểu này chắc tay hơn nhiều so với học lan man trên mạng.
Bạn có thể:
Tải về để tự học tại nhà
In ra làm tài liệu học
Kết hợp học online hoặc offline
Dùng để ôn thi, luyện tập dài hạn
Nếu bạn đang tìm một tài liệu:
✔ Chuẩn từ cơ bản đến nâng cao
✔ Có lời giải rõ ràng
✔ Học được lâu dài
✔ Dễ hiểu, dễ áp dụng
Thì “100 bài lập trình Python có lời giải cơ bản đến nâng cao PDF” là lựa chọn rất đáng để bạn bắt đầu.
” Học Python không khó – khó là mình không bắt đầu !!!
Bắt đầu từ ngay hôm nay, mỗi ngày một bài !Rồi bạn sẽ thấy mình tiến bộ lúc nào không hay !!! “
Dòng 1: Một số nguyên A
Dòng 2: Hai số nguyên B và C, cách nhau bởi một dấu cách
Với: −10 mủ 9 ≤A,B,C≤ 10 mủ 9
In ra một số nguyên duy nhất là kết quả của A + B − C
Input
Output
👉 Giải thích: 5+3−2=6
a=int(input()) b,c=map(int,input().split()) print(a+b-c)
Một dòng duy nhất chứa số nguyên A Với: −10^9≤A≤10^9
In ra một số nguyên duy nhất là kết quả của phép tính A + 2025
Input
Output
👉 Giải thích: 10+2025=2035
a=int(input()) print(a+2025)
a=int(input()) print(a-2)
a=int(input()) print(a*3)
a=int(input())
print('%0.2f'%(a/3))
a=int(input()) print(a**2) print(a**5)
a=int(input())
print('%0.2f'%(a**0.5))
a=int(input())
print('%0.5f'%(1/a))
a=int(input())
b=int(input())
print(21*a+5*b-2009,'%0.4f'%((21*(a**2)-5*b)/(2009*(b**2))))
print('%0.6f'%((21*a+5*(b**2))/(2009*b+15)))
import math
a,b,c=map(int,input().split())
print('%0.4f'%((21*(a**2)+5*(b**2))/(2009*(c**2)+15)),'%0.4f'%(math.sqrt(a**2-2*b)/(3*(c**2)+4)))
a,b=map(int,input().split()) print(a//b,a%b)
a,b=map(int,input().split()) print(a//b,a%b)
a=input() print(a[1],a[0])
a=input()
tong=0
for i in range(len(a)):
tong+=int(a[i])
print(tong)
a,b=map(str,input().split()) print(int(a[-1])+int(b[-1]))
a,b=map(str,input().split()) print(int(a[-1])+int(b[-2]))
n=int(input()) print(n//5000,n-n//5000*5000)
n=int(input()) a=n//5000 n=n%5000 b=n//2000 n=n%2000 c=n//1000 print(a,b,c)
n=int(input()) h=n//3600 n=n%3600 m=n//60 n=n%60 s=n print(h,':',m,':',s,sep='')
a,b,c=map(int,input().split())
tong=0
if a%2==0:
tong+=a/2
else:
tong+=int(a/2)+1
if b%2==0:
tong+=b/2
else:
tong+=int(b/2)+1
if c%2==0:
tong+=c/2
else:
tong+=int(c/2)+1
print(int(tong))
a=int(input()) b=int(input()) print(a//b,a%b)
a=int(input()) cv=a*4 s=a*a print(cv,s)
a=int(input())
cv=a*2*3.14
s=a*a*3.14
print('%0.2f'%cv,'%0.2f'%s)
a,b=map(int,input().split()) print((a+b)*2,a*b)
a,b=map(int,input().split())
print('%0.1f'%(0.5*a*b))
import math
a,b,c=map(int,input().split())
cv=a+b+c
p=cv/2
print(cv)
print('%0.3f'%math.sqrt(p*(p-a)*(p-b)*(p-c)))
import math
a,b,c=map(int,input().split())
R=(a*b*c)/(math.sqrt((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c))*4)
print('%0.3f'%R)
a=int(input())
b=int(input())
c=int(input())
print('%0.1f'%((a+b+c)/3))
a=float(input())
b=float(input())
c=float(input())
print('%0.1f'%((a*2+b*2+c)/5))
a=float(input())
print('%0.2f'%((a/2/3.14)*(a/2/3.14)*3.14))
a=int(input()) print((a//4)**2)
a=float(input())
b=float(input())
if a>b:
print('An gioi hon')
elif b>a:
print('Binh gioi hon')
else:
print('Bang nhau')
a,b=map(int,input().split())
if a<b:
print('An nhanh hon')
elif a>b:
print('Binh nhanh hon')
else:
print('Bang nhau')
n=int(input()) chu_so=['One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten'] print(chu_so[n-1])
a,b,c=map(int,input().split()) print(max(a,b,c))
t=int(input())
if 0<t<=11:
print('Thieu nhi')
elif 11<t<=25:
print('Thieu nien')
elif 25<t<=50:
print('Trung nien')
else:
print('Lao nien')
m,n=map(float,input().split())
tbc=(m+n*2)/3
print('%0.1f'%tbc)
if tbc>=8:
print('Gioi')
elif 6.5<=tbc<8:
print('Kha')
elif 5<=tbc<6.5:
print('Trung binh')
elif 3.5<=tbc<5:
print('Yeu')
elif tbc<3.5:
print('Kem')
t=int(input())
if t==2 or t==3 or t==4:
print('Mua Xuan')
if t==5 or t==6 or t==7:
print('Mua Ha')
if t==8 or t==9 or t==10:
print('Mua Thu')
if t==11 or t==12 or t==1:
print('Mua Dong')
c=int(input())
if 0<=c<=20:
print('Mua Dong')
elif 21<=c<=25:
print('Mua Xuan')
elif 26<=c<=30:
print('Mua Thu')
else:
print('Mua Ha')
a=int(input())
if a>0:
print('So duong')
elif a<0:
print('So am')
else:
print('So khong')
a,b=map(int,input().split())
if (a<0 and b<0) or (a>0 and b>0):
print('1')
elif a==0 or b==0:
print('0')
else:
print('-1')
a=int(input())
if a%6==0:
print('Yes')
else:
print('No')
a=int(input())
if a>100:
print('Yes')
else:
print('No')
a=int(input())
if a>80:
print('Beo phi')
elif a<45:
print('Suy dinh duong')
else:
print('Binh thuong')
a=int(input())
if a>180:
print('Huu cao co')
elif a<100:
print('Nam lun cute')
else:
print('Binh thuong')
t,n=map(int,input().split())
if t==1 or t==3 or t==5 or t==7 or t==8 or t==10 or t==12:
print('31')
elif t==4 or t==6 or t==9 or t==11:
print('30')
elif t==2 and (n%400==0 or (n%4==0 and n%100!=0)):
print('29')
else:
print('28')
n=list(input())
tong=0
for i in range(len(n)):
tong+=int(n[i])
print(str(tong)[-1])
if int(str(tong)[-1])<9:
print('No')
else:
print('Yes')
import math
def ktcp(n):
if n<0:
return False
x=int(math.sqrt(n))
return x*x==n
n=int(input())
if ktcp(n):
print('Yes')
else:
print('No')
a,b,c=map(int,input().split())
if a+b>c and b+c>a and c+a>b and a>0 and b>0 and c>0:
print('Yes')
if a==b and b==c:
print('Deu')
elif a==b or b==c or c==a:
print('Can')
elif a*a+b*b==c*c or c*c+b*b==a*a or a*a+c*c==b*b:
print('Vuong')
else:
print('Thuong')
else:
print('No')
a=int(input())
if a==1:
print(12000)
elif 2<=a<=30:
print(10000*(a-1)+12000)
else:
print(9000*(a-30)+12000+10000*29)
a=int(input())
if 1<=a<=50:
print(600*a)
elif 50<a<=100:
print(800*(a-50)+50*600)
elif 100<a<=200:
print(1100*(a-100)+50*(600+800))
else:
print(1500*(a-200)+50*(600+800)+100*1100)
a=int(input())
if a%2==0 and a>0:
print('Chan')
print('Duong')
elif a%2==0 and a<0:
print('Chan')
print('Am')
elif a%2!=0 and a>0:
print('Le')
print('Duong')
elif a%2!=0 and a<0:
print('Le')
print('Am')
else:
print('Chan')
print('Khong')
a=int(input())
if a>=80:
print('Loai A')
if a>=90:
print('Xuat sac')
elif 80<=a<90:
print('Gioi')
elif 50<=a<80:
print('Loai B')
if a>=65:
print('Kha')
elif 50<=a<=65:
print('Trung binh')
else:
print('Loai C')
if a>=35:
print('Yeu')
elif a<35:
print('Kem')
t=int(input())
if t<18:
print('Tre em')
if t<=6:
print('Tre mam non')
elif 7<=t<=11:
print('Tre tieu hoc')
elif 12<=t<=17:
print('Tre trung hoc')
elif 18<=t<60:
print('Nguoi truong thanh')
if 18<=t<=23:
print('Sinh vien')
elif 24<=t<60:
print('Nguoi di lam')
else:
print('Nguoi cao tuoi')
if 60<=t<=62:
print('Sap nghi huu')
else:
print('Da nghi huu')
a=input() print(a[0]+a[1],a[1]+a[2])
a,b,c,d=map(int,input().split())
if a==b==c==d:
print('=')
else:
print(max(max(a,b,c),max(b,c,d)))
import math
a,b,c=map(int,input().split())
if a+b>c and b+c>a and c+a>b and a>0 and b>0 and c>0:
cv=a+b+c
p=cv/2
s=math.sqrt(p*(p-a)*(p-b)*(p-c))
print('Day la 3 canh cua mot tam giac')
print('%0.2f'%cv,'%0.1f'%s)
else:
print('Day khong phai la 3 canh cua mot tam giac')
a,b=map(int,input().split())
if a>0 and b>0:
print('Day la 2 kich thuoc cua mot hinh chu nhat')
print((a+b)*2,a*b)
elif a<0 or b<0 or (a<0 and b<0):
print('Day khong phai la 2 kich thuoc cua mot hinh chu nhat')
if a<0 and b<0:
print('a va b la so am')
elif a<0:
print('a la so am')
elif b<0:
print('b la so am')
a=list(input())
b=[]
for i in range(len(a)):
if int(a[i])%2!=0:
b.append(a[i])
if len(b)==0:
print('-')
else:
print(*b)
a=list(input())
b=[]
for i in range(len(a)):
if int(a[i])%2==0:
b.append(a[i])
if len(b)==0:
print('-')
else:
tong=0
for i in range(len(b)):
tong+=int(b[i])
print(tong)
a=list(input()) print(max(a),min(a))
a=int(input())
for i in range(1,a+1):
print(i,end=' ')
n=int(input())
tong=0
for i in range(1,n+1):
tong+=i
print(tong)
n=int(input())
for i in range(1,n+1):
if i%3==0:
print(i,end=' ')
n=int(input())
dem=0
for i in range(1,n+1):
if i%3==0:
dem+=1
print(dem)
n=int(input())
tong=0
for i in range(1,n+1):
if i%2==0:
tong+=i
print(tong)
n=int(input())
tong=0
for i in range(1,n+1):
if i%3==0 and i%5==0:
tong+=i
print(tong)
n=int(input())
tong=0
for i in range(1,n+1):
if i%3==0 or i%5==0:
tong+=i
print(tong)
n=int(input())
a=[]
for i in range(1,n+1):
if i%2==0:
a.append(i)
if sum(a)==0:
print('0')
else:
print(int(sum(a)/len(a)))
n=int(input())
a=[]
for i in range(1,n+1):
if i%5==0:
a.append(i)
if sum(a)==0:
print('0.0')
else:
print('%0.1f'%(sum(a)/len(a)))
n=int(input())
a=[]
for i in range(1,n+1):
if i%3==0 and i%5==0:
a.append(i)
if sum(a)==0:
print('0.0')
else:
print('%0.1f'%(sum(a)/len(a)))
m=int(input())
n=int(input())
for i in range(m,n+1):
print(i,end=' ')
m=int(input())
n=int(input())
tong=0
for i in range(m,n+1):
tong+=i
print(tong)
m=int(input())
n=int(input())
dem=0
for i in range(m,n+1):
if i%3==0:
dem+=1
print(dem)
m=int(input())
n=int(input())
for i in range(m,n+1):
if i%2==0:
print(i,end=' ')
m,n=map(int,input().split())
a=[]
for i in range(m,n+1):
if i%2==0:
a.append(i)
print(len(a))
m,n=map(int,input().split())
tong=0
for i in range(m,n+1):
if i%2==0:
tong+=i
print(tong)
m,n=map(int,input().split())
a=[]
for i in range(m,n+1):
if i%2==0:
a.append(i)
if sum(a)==0:
print('0')
else:
print(int(sum(a)/len(a)))
m,n=map(int,input().split())
a=[]
b=[]
for i in range(m,n+1):
if i%2==0 and i%3==0:
a.append(i)
if i%5==0:
b.append(i)
print(sum(b),end=' ')
if sum(a)==0:
print('0')
else:
print(int(sum(a)/len(a)))
m,n=map(int,input().split())
a=[]
b=[]
for i in range(m,n+1):
if i%2==0 or i%3==0:
a.append(i)
if i%7==0:
b.append(i)
print(len(b),end=' ')
if sum(a)==0:
print('0.0')
else:
print('%0.1f'%(sum(a)/len(a)))
m,n=map(int,input().split())
a=[]
for i in range(m,n+1):
if i%5==0:
a.append(i)
print(len(a),'-',*a)
import math a,b=map(int,input().split()) print(math.gcd(a,b))
import math a,b=map(int,input().split()) c=math.gcd(a,b) print(a//c,'/',b//c,sep='')
a=list(input()) print(len(a))
a=list(input()) print(*a)
a=input()
tong=0
for i in range(len(a)):
tong+=int(a[i])
print(tong)
a=input()
for i in range(len(a)):
if int(a[i])%2==0:
print(a[i],end=' ')
a=input()
tong=0
for i in range(len(a)):
if int(a[i])%2==0:
tong+=int(a[i])
print(tong)
a,b=map(str,input().split())
tong=0
for i in range(len(a)):
if int(a[i])>int(b):
tong+=int(a[i])
print(tong)
a=input()
dem=0
for i in range(len(a)):
if int(a[i])%2!=0:
dem+=1
print(dem)
a=input() print(a[::-1])
a=list(input()) print(max(a))
a=list(input()) print(min(a))
a=list(input())
b=[]
for i in range(len(a)):
if int(a[i])%2!=0:
b.append(a[i])
if len(b)==0:
print('-')
else:
print(max(b))
a=list(input())
b=[]
for i in range(len(a)):
if int(a[i])%2==0:
b.append(a[i])
if len(b)==0:
print('-')
else:
print(min(b))
a=list(input())
while len(a)>1:
tong=0
for i in range(len(a)):
tong+=int(a[i])
if len(str(tong))>1:
a=list(str(tong))
else:
a=str(tong)
print(a)
n=int(input())
for i in range(0,n*2-1,2):
print(i)
k=int(input()) a=(k-1)//2 b=(k-1)%2 n=a*3+1+b print(3*n)
def ktnt(n):
i=2
while i*i<=n and n%i!=0:
i+=1
return i*i>n and n>1
a=int(input())
dem=0
tong=0
i=2
while dem<a:
if ktnt(i) and ktnt(i+2):
tong+=i
dem+=1
i+=1
print(tong)
a=int(input())
dem=0
tong=0
i=0
while dem<a:
if i%3!=0:
tong+=i
dem+=1
i+=1
print('%0.1f'%(tong/dem))
a,b=map(int,input().split())
dem=0
while b>a:
a=a*2/100+a
dem+=1
print(dem)
Nguồn : https://xn--300bicode-t1a.vn/; tác giả: Trần Phí An Bình
Khóa học Python online từ cơ bản đến nâng cao
➡ Hoàn toàn phù hợp. Bộ tài liệu được biên soạn từ những bài tập Python cơ bản nhất như biến, vòng lặp, điều kiện, hàm… giúp người mới học Python dễ tiếp cận, dễ hiểu và không bị “ngợp”.
➡ Có đầy đủ lời giải. Mỗi bài tập đều kèm theo hướng dẫn và lời giải rõ ràng, giúp bạn hiểu cách suy nghĩ, cách viết code và cách tối ưu chương trình Python đúng chuẩn.
➡ Trung bình bạn có thể học trong 20 – 30 ngày, mỗi ngày 3–5 bài. Nếu học đều đặn, bạn sẽ nắm vững nền tảng Python và đủ tự tin làm các bài tập nâng cao hơn.
➡ Sau khi hoàn thành, bạn có thể:
Viết chương trình Python cơ bản
Hiểu tư duy lập trình
Làm bài tập ở trường
Học tiếp Python nâng cao, AI, Data, Web
➡ Không cần. Chỉ cần biết sử dụng máy tính cơ bản là có thể học được. Tài liệu phù hợp cho người bắt đầu từ con số 0.
Phần 2: Tải ngay 200 Bài lập trình Python có lời giải cơ bản đến…
Tổng Hợp Các Hàm Python "Cốt Lõi" Khi Thi HSG Tỉnh Và Vào 10 Chuyên…
Nếu bạn đang ôn thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang,…
Tổng Hợp 74 Đề Thi Học Sinh Giỏi Tin Học THCS Cấp Tỉnh Có Đáp…
Tổng hợp 75 Đề thi HSG Tin học THCS Python Cấp Tỉnh (Có Code Giải…
6 Kinh nghiệm làm bài thi Học sinh giỏi Tin học Tỉnh 2026- 2027 &…
This website uses cookies.
View Comments
có bạn nào muốn hỏi gì không nào?
có phần nào các bạn không hiểu không nhỉ?
bài viết rất có lợi cho các bạn mới học python
các bạn có cần các bài nâng cao thêm không nào ?