Thẻ: Lập trình Python cơ bản PDF

100 bài tập Python từ cơ bản đến nâng cao online Miễn Phí lời giải

Thầy Dân xin chào các em đam mê lập trình Python nhé! Để các em có thể có những bước đầu học lập trình Python tốt hơn Thầy đã soạn ra hơn 100 bài tập Python từ cơ bản đến nâng cao online Miễn Phí lời giải để các em ôn tập tốt hơn. Bạn nào muốn học lập trình Python online hãy liên hệ Thầy ngay với số điện thoại: 0937.179.278 ! Để các em có thể thi vào kỳ thi học sinh giỏi cấp Huyện, cấp Tỉnh và thi vào các Trường Chuyên Tin theo mong muốn của mình nhé ! Chúc  các em đạt kết quả cao trong kỳ thi khó khăn và đầy thử thách phía trước !

100 bài tập Python cơ bản phù hợp cho các em nào?

  • Phù hợp với các em mới vào học chưa biết gì về lập trình Python.
  • Bài tập phù hợp cho các em học sinh và sinh viên chuẩn bị ôn tập các kiến thức quan trọng để chuẩn bị tốt hơn ở kì thi cấp Huyện sắp tới.
  • Cần nắm vững các hàm, các toán tử, các vòng lặp for , vòng lặp while để giải các bài tập tốt hơn.
  • Đã học qua lập trình Python nhưng chưa hiểu rõ lắm, muốn lấy lại kiến thức cơ bản và nền tảng.
  • Ôn tập lại kiến thức cơ bản, khi có được các kiến thức cơ bản từ đó mới giải được nhiều bài nâng cao hơn.

Nếu các bạn nào đã giỏi thì hãy tham khảo giải các đề thi thử phía dưới có đáp án

  • Còn em nào muốn học lý thuyết thì hãy vào đường dẫn phía dưới nhé ! chép từ bài 1 đến bài 21 là giỏi liền kha kha ! có tài liệu pdf tải về thoải mái !
    1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học 

Nguồn: 300bàicode.vn

Web lập trình Python online

Học lập trình Python Offline tại nhà Thầy

Hãy vào học ngay lập trình Python thông qua 100 bài tập Python từ cơ bản đến nâng cao

10 bài tập Python cơ bản nếu bạn làm được thầy cho các em lên cấp 10:

Bài 1: Hãy nhập vào tên của bạn và xuất tên của bạn ra màn hình ?

Dữ liệu nhập vàoDữ liệu xuất ra
Võ Cao CườngXin chào: Võ Cao Cường
  • Đáp án bài 1 lập trình python:
s=input("Nhập họ và tên: ")
print("Xin chào:",s)

Bài 2: Định dạng dữ liệu số kiểu số ra thành còn 2 số thập phân ?

Dữ liệu nhập vàoDữ liệu xuất ra
5489.151635489.15
  • Đáp án bài 2 lập trình python:
x=5489.15163
print("%0.2f"%x)

Bài 3: Hãy nhập vào điểm trung bình để biết bạn đã đậu hay thi lại?

  • Diễn giải: nếu điểm trung bình lớn hơn hoặc bằng 5 thì  ghi ‘Chúc mừng bạn đã đậu ‘ còn ngược lại ghi ‘ Chúc bạn may mắn lần sau nhé! ‘
Dữ liệu nhập vàoDữ liệu xuất ra
9Chúc mừng bạn đã đậu
4Chúc bạn may mắn lần sau nhé!
  • Đáp án bài 3 lập trình python:
tb=float(input('Nhập điểm trung bình: '))
if tb>=5:
    print('Chúc mừng bạn đã đậu')
else:
    print('Chúc bạn may mắn lần sau nhé!')
Khóa học Python free

Khóa học Python luyện thi học sinh giỏi cấp huyện

Bài 4: Viết chương trình nhập vào một số nguyên n, cho biết số đó là số 0 , số âm hay số dương?

Dữ liệu nhập vàoDữ liệu xuất ra
5Số dương
-3Số âm
0Số không
  • Đáp án lập trình python bài 4:
n=int(input('nhập một số:'))
if n>=0:
    if n==0:
        print('Số không')
    else:
        print('Số dương')
else:
    print('Số âm')

Bài 5:  Nhập vào điểm trung bình (dtb) kiểu số thực để biết học sinh đạt loại gì?

  • Diễn giải:
    • Nếu dtb>=8 thì in ra ” Bạn đạt loại giỏi”
    • Nếu dtb>= 6.5 thì in ra ” Bạn đạt loại khá”
    • Nếu dtb>=5 thì in ra ” Bạn đạt loại trung bình”
    • Còn ngược lại các ý trên thì in ra ” Chúc bạn may mắn lần sau nhé ! “
Dữ liệu nhập vàoDữ liệu xuất ra
7Bạn đạt loại khá
  • Đáp án lập trình python bài 5:
dtb=float(input('nhập điểm trung bình: '))
if dtb>=8:
    print('Bạn đạt loại giỏi')
elif dtb>=6.5:
    print("Bạn đạt loại khá")
elif dtb>=5:
    print("Bạn đạt loại trung bình")
else:
    print('Chúc bạn may mắn lần sau nhé!')

Bài 1: Tính chu vi và diện tích hình vuông ?

Hình vuông là một hình học cơ bản trong toán học, có bốn cạnh bằng nhau. Trong bài viết này, chúng ta sẽ sử dụng Python để tính chu vi và diện tích của hình vuông một cách đơn giản.

1. Công Thức Tính

  • Chu vi hình vuông: P = 4 × cạnh
  • Diện tích hình vuông: S = cạnh × cạnh

3. Giải Thích Chương Trình

  1. Chương trình yêu cầu người dùng nhập độ dài cạnh của hình vuông.
  2. Sử dụng công thức để tính chu vi và diện tích.
  3. In kết quả ra màn hình.

4. Ví Dụ Chạy Chương Trình ▶️

Nhập độ dài cạnh của hình vuông: 5
Chu vi hình vuông: 20.0
Diện tích hình vuông: 25.0

5. Ứng Dụng Thực Tế

Chương trình này có thể được sử dụng trong các bài toán hình học, đồ họa máy tính, hoặc ứng dụng thực tế như thiết kế và xây dựng.

Hãy thử viết và chạy chương trình này trong Python để thực hành nhé!

a=int(input())
cv=a*4
s=a*a
print(cv,s)

 

Bài 2: Tính chu vi và diện tích hình tròn ?

 

r=int(input())
cv=r*2*3.14
dt=r*r*3.14
print("%0.2f"%cv,"%0.2f"%dt)

 

Bài 3: Tính chu vi và diện tích hình chữ nhật ?

 

a,b=map(int,input().split())
cv=(a+b)*2
dt=a*b
print(cv,dt)

 

Bài 4: Tính tổng và tích 2 số nguyên a và b ?

 

a,b=map(int,input().split())
tong=a+b
tich=a*b
print(tong,tich)

 

Bài 5: Tính trung bình cộng của 3 số nguyên a, b, c ?

 

a,b,c=map(int,input().split())
TBC=(a+b+c)/3
print("%0.1f"%TBC)

 

Bài 6: Tính chu vi và diện tích của một tam giác ?

 

import math
a,b,c=map(int,input().split())
cv=a+b+c
p=cv/2
dt=math.sqrt(p*(p-a)*(p-b)*(p-c))
print("%0.1f"%cv,"%0.3f"%dt)

 

Bài 7:  Tính diện tích tam giác ?

 

a,h=map(int,input().split())
s=a*h/2
print("%0.2f"%s)

 

Bài 8: Tính bán kính R của đường tròn ngoại tiếp tam giác ?

 

import math
a,b,c=map(int,input().split())
p=(a+b+c)/2
s=math.sqrt(p*(p-a)*(p-b)*(p-c))
r=(a*b*c)/(4*s)
print("%0.3f"%r)

 

Bài 9: Tính điểm trung bình ?

 

Toan,Van,Anh=map(float,input().split())
TBC=(Toan*2+Van*2+Anh)/5
print("%0.1f"%TBC)

 

Bài 10: Chia táo ?

 

T,HS=map(int,input().split())
Tao=T//HS
Du=T%HS
print(Tao,Du)

Bài 11: Tính giờ phút giây ?

 

n=int(input())
h=n//3600
n=n%3600
p=n//60
n=n%60
s=n
print(h,":",p,":",s,sep="")

 

Bài 12: Tìm 2 chữ số đầu và 2 chữ số cuối ?

 

n=int(input())
a=n//10
b=n%100
print(a,end=" ")
if b>=0 and b<=9:
    print("0",b,sep="")
else:
    print(b)

 

Bài 13: Tìm số lớn nhất trong 3 số ?

 

a,b,c=map(int,input().split())
M=a
if b>M:
    M=b
if c>M:
    M=c
if a==b and b==c:
    print("=")
else:
    print(M)

 

Bài 14: Tính tuổi niên ?

 

t=int(input())
if 0<t<=11:
    print("Thieu nhi")
if 11<t<=25:
    print("Thieu nien")
if 25<t<=50:
    print("Trung nien")
if 50<t:
    print("Lao nien")

 

Bài 15: Kiểm tra a, b, c có là 3 cạnh của một tam giác ?

 

import math
a,b,c=list(map(float,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)
    print("Day la 3 canh cua mot tam giac")
    print("%0.2f"%cv,end=" ")
    p=cv/2
    dt=math.sqrt(p*(p-a)*(p-b)*(p-c))
    print("%0.1f"%dt)
else:
    print("Day khong phai la 3 canh cua mot tam giac")

 

Bài 16: Xếp loại học sinh ?

 

TBHKI,TBHKII=map(int,input().split())
TBCN=(TBHKI+TBHKII*2)/3
print("%0.1f"%TBCN)
if TBCN>=8:
    print("Gioi")
if 6.5<=TBCN<8:
    print("Kha")
if 5.0<=TBCN<6.5:
     print("Trung binh")
if 3.5<=TBCN<5:
    print("Yeu")
if TBCN<3.5:
    print("Kem")

 

Bài 17: Tính mùa trong năm ?

 

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")

 

Bài 18: Tính số ngày của tháng ?

 

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")
if t==4 or t==6 or t==9 or t==11:
    print("30")  
if t==2:
    if n%400==0 or (n%4==0 and n%100!=0):
        print("29")
    else:
        print("28")

 

Bài 19: Tính số nút của biển số xe ?

 

a=int(input())
tong=0
tong =tong+(a%10)
a=a//10
tong =tong+(a%10)
a=a//10
tong =tong+(a%10)
a=a//10
tong =tong+(a%10)
a=a//10
tong =tong+(a%10)
nut=tong%10
print(nut)
if nut==9:
    print("may man")
else:
    print("chua may man")

 

Bài 20: Đổi tiền ?

 

n=int(input())
a=n//5000
n=n%5000
b=n//2000
n=n%2000
c=n//1000
print(a,b,c)

Bài 21: Tính tiền Taxi ?

 

 

n=int(input())
if n==1:
    c=1*12000
if 1<n<=30:
    c=1*12000+(n-1)*10000
if n>30:
    c=1*12000+29*10000+(n-30)*9000
print(c)

 

Bài 22: Tính tiền điện ?

 

n=int(input())
if n<=50:
    c=n*600
if 50<n<=100:
    c=50*600+(n-50)*800
if 100<n<=200:
    c=50*600+50*800+(n-50-50)*1100
if n>200:
    c=50*600+50*800+100*1100+(n-50-50-100)*1500
print(c)

 

Bài 23: Tìm những số chia hết cho 3 ?

 

n=int(input())
dem=0
for i in range(1,n+1):
    if i%3==0:
        dem=dem+1
        print(i,end=" ")
if dem==0:   
    print("-")

 

Bài 24: Đếm số lượng số chia hết cho 3 ?

 

n=int(input())
dem=0
for i in range(1,n+1):
    if i%3==0:
        dem+=1
print(dem)        

 

Bài 25: Tính tổng những số chẵn ?

 

n=int(input())
tong=0
for i in range(1,n+1):
    if i%2==0:
        tong+=i
print(tong) 

 

Bài 26: Tính tổng những số chia hết cho 3 và 5 ?

 

n=int(input())
tong=0
for i in range(1,n+1):
    if i%3==0 and i%5==0:
        tong+=i
print(tong) 

 

Bài 27: Tính tổng những số chia hết cho 3 hoặc 5 ?

 

n=int(input())
tong=0
for i in range(1,n+1):
    if i%3==0 or i%5==0:
        tong+=i
print(tong)

 

Bài 28: Đếm số ước của số nguyên n ?

 

n=int(input())
dem=0
for i in range(1,n+1):
    if n%i==0:
        dem+=1
print(dem)

 

Bài 29: Kiểm tra số n có nguyên tố ?

 

n=int(input())
dem=0
for i in range(1,n+1):
    if n%i==0:
        dem+=1
if dem==2:
    print("Yes")
else:
    print("No")

 

Bài 30: Tính tổng các số nguyên từ m đến n ?

 

m,n=map(int,input().split())
tong=0
for i in range(m,n+1):
    tong+=i
print(tong)

 

Bài 31: Đếm số chia hết cho 3 từ m đến n ?

m,n=map(int,input().split())
dem=0
for i in range(m,n+1):
    if i%3==0:
        dem+=1
print(dem)

 Bài 32: Đếm số chia hết cho 3 hoặc chia hết cho 5 và tính tổng các số chẵn ?

 

m,n=map(int,input().split())#32
dem=0
for i in range(m,n+1):
    if (i%3==0) or (i%5==0):
        dem+=1
print(dem,end=" ")
tong=0
for i in range(m,n+1):
    if(i%2==0):
        tong+=i
print(tong)

 Bài 33: Đếm số nguyên tố từ m đến n ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
m,n=map(int,input().split())
dem=0
for i in range(m,n+1):   
    if ktnt(i):    
        dem+=1
print(dem)

 Bài 34: In các số nguyên tố từ m đến n ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
m,n=map(int,input().split())
dem=0
for i in range(m,n+1):    
    if ktnt(i):    
        print(i,end=" ")
        dem+=1        
if dem==0:
    print("-")

Bài 35: Tính trung bình cộng các số nguyên tố từ m đến n ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
m,n=list(map(int,input().split()))
tong=0
dem=0
for i in range(m,n+1):   
    if ktnt(i):    
        tong+=i
        dem+=1    
if dem>0:
    tbc=tong/dem
    print("%0.2f"%tbc)
else:
    print("-")

Bài 36: Tìm ước số chung lớn nhất của 2 số nguyên dương a, b ?

 

a,b=map(int,input().split())
while a!=b:
    if a>b:
        a=a-b
    else:
        b=b-a
print(a)

Bài 37: Rút gọn phân số ?

 

t,m=map(int,input().split())
a=t
b=m
while a!=b:
    if a>b:
        a-=b
    else:
        b-=a
t//=a
m//=a
print(t,"/",m,sep="")

 

Bài 38:  In ra k số nguyên tố đầu tiên ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
k=int(input())
i=0
dem=0
while dem<k:    
    if ktnt(i):            
        print(i,end=" ")
        dem+=1
    i+=1

 

Bài 39: Kiểm tra số chính phương ?

 

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")

 

Bài 40: In ra k số chính phương đầu tiên ?

 

import math
def ktcp(n):
    if n<0:
        return False
    x=int(math.sqrt(n))
    return (x*x==n)

k=int(input())
i=0
dem=0
while dem<k:
    if ktcp(i):
        print(i,end=" ")
        dem+=1
    i+=1

 

Bài 41: Tính tổng các phần tử trong mảng ?

 

n=int(input())
a=list(map(int,input().split()))
dem=0
for i in range(0,len(a)):
    if a[i]>0:
        dem+=1
print(dem)

Bài 42: Đếm số dương trong mảng ?

n=int(input())
a=list(map(int,input().split()))
dem=0
for i in range(0,len(a)):
    if a[i]>0:
        dem+=1
print(dem)

Bài 43: Đếm số chẵn trong mảng ?

 

n=int(input())
a=list(map(int,input().split()))
dem=0
for i in range(0,len(a)):
    if a[i]%2==0:
        dem+=1
print(dem)

 

Bài 44: Tính tổng các phần tử ở vị trí chẵn trong mảng ?

 

n=int(input())
a=list(map(int,input().split()))
s=0
for i in range(0,len(a)):
    if i%2==0:
        s+=a[i]
print(s)

 

Bài 45: Tính tổng các phần tử có giá trị chẵn trong mảng ?

 

n=int(input())
a=list(map(int,input().split()))
tong=0
for i in range(len(a)):
    if a[i]%2==0:
        tong+=a[i]
if tong==0:
    print('-')
else:
    print(tong)

 

Bài 46: Tìm số x trong mảng ?

 

n,x=map(int,input().split())
a=list(map(int,input().split()))
dem=0
vt=0
for i in range(len(a)):
    if x==a[i]:
        dem+=1
        vt=i
        break
if dem==0:
    print('No')
else:
    print('Yes')
    print(vt)

 

Bài 47: Đếm và in dãy số dương, số âm trong mảng ?

 

n=int(input())
a=list(map(float,input().split()))
demduong=0
demam=0
c=[]
b=[]
for i in range(len(a)):
    if a[i]<0:
        demam+=1
        c.append(a[i])
    if a[i]>0:
        demduong+=1
        b.append(a[i])
print(demduong,demam)
if demduong==0:
    print('-')
if demam==0:
    print('-')
for i in range(len(b)):
    print('%0.0f'%b[i],end=' ')
print()
for j in range(len(c)):
    print('%0.0f'%c[j],end=' ')

 

Bài 48: In ra những số chia hết cho 5 và tổng của chúng trong mảng ?

 

n=int(input())
a=list(map(int,input().split()))
tong=0
for i in range(len(a)):
    if a[i]%5==0:
        tong+=a[i]
        print(a[i],end=' ')
print()
print(tong)

 

Bài 49: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử lớn nhất đó ?

 

n=int(input())
a=list(map(int,input().split()))
print(max(a),end=' ')
vt=a.index(max(a))
print(vt)


Bài 50: Sắp xếp mảng theo thứ tự tăng dần ?

 

n=int(input())
a=list(map(int,input().split()))
a=sorted(a)
print(*a)

 

Bài 51: In ra các số nguyên tố trong mảng và tổng của chúng ?

 

def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
a=list(map(int,input().split()))
tong=0
for i in range(len(a)):
    if ktnt(a[i]):
        tong+=a[i]
        print(a[i],end=' ')
if tong==0:
    print('-')
    print(0)
else:
    print(tong)

 

Bài 52: Tính trung bình các số nguyên tố trong mảng ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
a=list(map(int,input().split()))
DemNT=0 
tong=0
for i in range(0,len(a)):
    if ktnt(a[i]):                        
        tong+=a[i]
        DemNT+=1
if DemNT>0:
    TBC=s/DemNT
    print("%0.2f"%TBC)
else:
    print("-")

 

Bài 53: Tìm số nguyên tố lớn nhất trong mảng ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
a=list(map(int,input().split()))
b=[]
for i in range(0,len(a)):
    if ktnt(a[i]):               
        b.append(a[i])
if len(b)>0:
    print(max(b))
else:
    print("-")

 

Bài 54: Tìm số âm lớn nhất trong mảng ?

 

a=list(map(int,input().split()))
b=[]
for i in range(0,len(a)):
    if a[i] <0:
        b.append(a[i])
if len(b)>0:
    print(max(b))
else:
    print("-")

 

Bài 55: Tìm số nguyên lớn thứ hai trong mảng ?

 

a=list(map(int,input().split()))
Max=max(a)
i=0
while i<len(a):
    if a[i]==Max:
        a.pop(i)
    else:
        i+=1
if len(a)>0:
    print(max(a))
else:
    print("-")

 

Bài 56: Tìm số nguyên nhỏ thứ 3 trong mảng ?

 

a=[]
#Đọc dữ liệu nhiều dòng không biết mấy dòng (Khi nhập từ bàn phím, nhập xong enter 2 lần)
while True:
    try:
        line=input()
        try:
            x = int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
#
Min=min(a)
i=0 
while i<len(a):
    if a[i]==Min:
        a.pop(i)
    else:
        i+=1 
Min=min(a)
i=0 
while i<len(a):
    if a[i]==Min:
        a.pop(i)
    else:
        i+=1 
if len(a)>0:
    print(min(a))
else:
    print("-")

 

Bài 57: Đếm số lượng số nguyên khác nhau ?

 

a=[]
#Đọc dữ liệu nhiều dòng không biết mấy dòng (Khi nhập từ bàn phím, nhập xong enter 2 lần)
while True:
    try:
        line=input()
        try:
            x = int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
#
# Xoá trùng
i=0 
while i<len(a)-1:
    j=i+1
    while j<len(a):
        if a[i]==a[j]:
            a.pop(j)
        else:
            j+=1
    i+=1 
# Hết xoá trùng
print(len(a))

 

Bài 58: Đếm số lần xuất hiện của từng số trong mảng ?

 

n=int(input())
a=[]
for i in range(0,n):
    line=int(input())
    a.append(line)

b=a.copy()
# Xoá trùng
i=0 
while i<len(b)-1:
    j=i+1
    while j<len(b):
        if b[i]==b[j]:
            b.pop(j)
        else:
            j+=1
    i+=1 
# Hết xoá trùng
c=[]
for i in range(0,len(b)):    
    c.append(a.count(b[i]))#Đếm từng phần tử trong b xuất hiện trong a mấy lần
for i in range(0,len(b)):
    print(b[i],c[i])


Bài 59: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng ?

 

n=int(input())
a=[]
for i in range(0,n):
    line=int(input())
    a.append(line)

b=a.copy()
# Xoá trùng
i=0 
while i<len(b)-1:
    j=i+1
    while j<len(b):
        if b[i]==b[j]:
            b.pop(j)
        else:
            j+=1
    i+=1 
# Hết xoá trùng
c=[]
for i in range(0,len(b)):    
    c.append(a.count(b[i]))
#
Max=max(c)
vt=c.index(Max)
print(b[vt],Max)

 

Bài 60: Tính trung bình cộng các số chính phương trong mảng ?

 

import math
def ktcp(n):
    if n<0:
        return False
    x=int(math.sqrt(n))
    return (x*x==n)
#
a=list(map(int,input().split()))
dem=0 
s=0 
for i in range(0,len(a)):
    if ktcp(a[i]):
        dem+=1 
        s+=a[i]
if dem>0:
    TBC=s/dem
    print("%0.1f"%TBC)
else:
    print("-")

 

Bài 61: In ra câu “ Chào Họ Tên” ?

 

a=input()
print("Chao",a)

 

Bài 62: Viết xâu theo thứ tự ngược lại ?

 

a=input()
for i in range(len(a)-1,-1,-1):
    print(a[i],end="")

 

Bài 63: In xâu với mỗi ký tự trên 1 dòng ?

 

a=input()
for i in range(0,len(a)):
    print(a[i])

 

Bài 64: Xoá bỏ các dấu cách trong chuỗi ?

 

s=input()
s1=""
for i in range(0,len(s)):
    if s[i]!=" ":
        s1+=s[i]
print(s1)

 

Bài 65:Kiểm tra xâu đối xứng ?

 

s=input()
#Cach 1
s1=""
for i in range(len(s)-1,-1,-1):
    s1+=s[i]
#Cach 2
s1=s[::-1]
if s1==s:
    print("Yes")
else:
    print("No")

 

Bài 66: Xoá các khoảng trắng thừa ở đầu câu ?

 

s=input()
a=list(s)#Chuyển chuỗi sang mảng
while a[0]==" ":            
    a.pop(0)
s="".join(a)#Chuyển mảng sang chuỗi
print(s)

 

Bài 67: Xoá các khoảng trắng thừa ở cuối câu ?

 

s=input()
a=list(s)#Chuyển chuỗi sang mảng
while a[len(a)-1]==" ":            
    a.pop(len(a)-1)
s="".join(a)#Chuyển mảng sang chuỗi
print(s)

 

Bài 68: Xoá các khoảng trắng thừa ở giữa câu ?

 

s=input()
a=list(s)#Chuyển chuỗi sang mảng
i=0
while i<len(a)-1:
    if a[i]==" " and a[i+1]==" ":
        a.pop(i)
    else:
        i+=1
s="".join(a)#Chuyển mảng sang chuỗi
print(s)

Cách 2:

 

s=input()
s=s.strip()
while ‘  ’ in s:
	s=s.replace(‘  ’,’ ’)
print(s)

 

Bài 69: Đếm số từ trong câu ?

 

s=input()
s=" "+s
dem=0
for i in range(0,len(s)-1):
    if s[i]==" "  and s[i+1]!=" ":
        dem+=1
print(dem)

 

Bài 70: Đổi ký tự đầu thành chữ in hoa ?

 

s=input()
s=s.title()
print(s)

 

Bài 71: Tìm kiếm và thay thế trong chuỗi ?

 

s=input()
x=input()
y=input()
s = s.replace(x, y)
print(s)

 

Bài 72: Đổi tất cả ký tự trong 1 chuỗi thành ký tự in hoa ?

 

s=input()
s=s.upper()
print(s)

 

Bài 73: Đổi tất cả ký tự trong 1 chuỗi thành ký tự thường ?

 

s=input()
s=s.lower()
print(s)

 

Bài 74: Đảo ngược các từ trong câu ?

 

s=input().split()
for i in range(len(s)-1,-1,-1):#In mảng theo thứ tự ngược
    print(s[i],end=" ")

 

Bài 75: Đảo ngược các ký tự trong từng từ ?

 

s=input().split()
for i in range(0,len(s)):
    print((s[i])[::-1],end=" ")

 

Bài 76: Đếm số lần xuất hiện chuỗi c trong xâu ?

 

s1=input()
s2=input()
print(s1.count(s2))

 

Bài 77: Đếm số ký tự khác nhau trong xâu ?

 

s1=input()
a=list(s1)#Chuyển chuỗi sang mảng
#Xoá trùng
i=0 
while i<len(a)-1:
    j=i+1
    while j<len(a):
        if a[i]==a[j]:
            a.pop(j)
        else:
            j+=1
    i+=1 
#
s2="".join(a)#Chuyển mảng sang chuỗi
print(len(s2))

 

Bài 78: Mỗi ký tự xuất hiện bao nhiêu lần trong xâu ?

 

s1=input()
s1=s1.lower()
a=list(s1)
i=0 
while i<len(a)-1:
    j=i+1
    while j<len(a):
        if a[i]==a[j]:
            a.pop(j)
        else:
            j+=1
    i+=1 
s2="".join(a)
c=[]
for i in range(0,len(s2)):
    c.append(s1.count(s2[i]))
for i in range(0,len(s2)):
    print(s2[i],":",c[i],sep="",end=" ")

 

Bài 79: Tìm ký tự xuất hiện nhiều lần nhất trong xâu ?

 

s1=input()
s2=""
for i in range(0,len(s1)):
    if s1[i]!=" ":
        s2+=s1[i]
s1=s2
s1=s1.lower()
a=list(s1)
i=0 
while i<len(a)-1:
    j=i+1
    while j<len(a):
        if a[i]==a[j]:
            a.pop(j)
        else:
            j+=1
    i+=1 
s2="".join(a)
c=[]
for i in range(0,len(s2)):
    c.append(s1.count(s2[i]))
Max=max(c)
vt=c.index(Max)
print(s2[vt],":",Max,sep="")

 

Bài 80: Tìm vị trí đầu tiên mà ký tự x xuất hiện ?

 

s1=input()
s2=input()
print(s1.find(s2))

Bài 81: Tìm vị trí cuối mà ký tự x xuất hiện trong xâu ?

 

s1=input()
s2=input()
print(s1.rfind(s2))

 

Bài 82: Đếm ký tự in hoa trong xâu ?

 

s=input()
dem=0 
for i in range(0,len(s)):
    if s[i].isupper():
        dem+=1
print(dem)

 

Bài 83: Đếm sô ký tự thường trong xâu ?

 

s1=input()
dem=0
for i in range(0,len(s1)):
    if s1[i].islower():
        dem+=1
print(dem)

 

Bài 84: Tìm tên của 1 người trong chuỗi họ và tên ?

 

s=input()
a=s.split()
print(a[-1])

for i in range(0, len(a)-1)
    print(a[i],end=" ")


s=Tran Phi An Binh
a=[Tran, Phi, An, Binh]
     0    1    2    3
     len(a)-1

 

Bài 85: Tìm tên của 1 người trong chuỗi họ và tên ?

 

s=input()
a=s.split()
for i in range(0,len(a)-1):
    print(a[i],end=" ")

 

Bài 86: Tính chu vi và diện tích của tam giác có sử dụng hàm ?

 

import math
def nhap():
    a,b,c=map(float,input().split())
    return a,b,c
#
def chuvi(a,b,c):
    return a+b+c
#
def dientich(a,b,c):
    p=chuvi(a,b,c)/2 
    return math.sqrt(p*(p-a)*(p-b)*(p-c))
#
a,b,c=nhap()
print("%0.1f"%chuvi(a,b,c),"%0.3f"%dientich(a,b,c))

 

Bài 87: Viết hàm kiểm tra chia hết cho 5 ?

 

def nhap():
    n=int(input())
    return n
def chia5(n):
    if n%5==0:
        return "Yes"
    else:
        return "No"
n=nhap()
print(chia5(n))

 

Bài 88: Viết hàm tìm ước số chung lớn nhất ?

 

def ucln(a,b):
    while a!=b:
        if a>b:
            a=a-b
        else:
            b=b-a
    return a
#
def nhap():
    t,m=map(int,input().split())   
    return t,m
#
def RG(t,m):
    x=ucln(t,m)    
    t//=x
    m//=x
    return t,m
#
t,m=nhap()
t,m=RG(t,m)
print(t,"/",m,sep="")

 

Bài 89: Viết hàm tính giai thừa n! ?

 

def GiaiThua(n):
    kq=1
    for i in range(1,n+1):
        kq*=i
    return kq
def C(n,k):
    return GiaiThua(n)/(GiaiThua(k)*GiaiThua(n-k))

m=int(input())
s=0
for i in range(0,m):
    n,k=map(int,input().split())   
    s+=C(n,k)
print("%0.0f"%s)

 

Bài 90: Viết hàm P(x,n) để tính giá trị x^n ?

 

import sys
def LuyThua(x,n):
    kq=1
    for i in range(1,n+1):
        kq*=x
    return kq
k,x=map(int,input().split())
s=0
for i in range(0,k):
    a,n=map(int,input().split())
    s+=a*LuyThua(x,n)
print(s)

 

Bài 91: Viết chương trình vẽ hình chữ nhật bằng dấu * sử dụng chương trình con ?

 

def HCN(d,r):
	for i in range(0,d):
		print("*",end="",sep="")
	print()
	for i in range(0,r-2):
		print("*"," "*(d-2),"*",sep="")        
	for i in range(0,d):
		print("*",end="",sep="")
#
d,r=map(int,input().split())
HCN(d,r)

 

Bài 92: Sử dụng hàm lồng nhau ?

 

def cong(a,b):
    return a+b
def chia(a,b):
    return a/b
#
a,b,c=map(float,input().split())
x=cong(a,cong(b,c))
y=cong(chia(a,b),c)
z=chia(a,cong(b,c))
print("%0.0f"%x,end=" ")
print("%0.2f"%y,end=" ")
print("%0.3f"%z,end=" ")

 

Bài 93: Sử dụng hàm tìm số nhỏ nhất trong 2 số để tìm số nhỏ nhất trong 3 số ?

 

def Min(a,b):
    if a>b:
        return b
    else:
        return a
a,b,c=map(int,input().split())
print(Min(a,Min(b,c)))

 

Bài 94: Viết hàm cộng trừ nhân chia 2 phân số ?

 

import math
tu1,mau1=map(int,input().split())
tu2,mau2=map(int,input().split())
#Cong
tu=tu1*mau2+tu2*mau1
mau=mau1*mau2
u=math.gcd(abs(tu),abs(mau))
tu//=u
mau//=u
if tu>mau:
    print(tu//mau,",",tu%mau,"/",mau,sep="")
else:
    print(tu,"/",mau,sep="")
#Tru
tu=tu1*mau2-tu2*mau1
mau=mau1*mau2
u=math.gcd(abs(tu),abs(mau))
tu//=u
mau//=u
if tu>mau:
    print(tu//mau,",",tu%mau,"/",mau,sep="")
else:
    print(tu,"/",mau,sep="")
#Nhan
tu=tu1*tu2
mau=mau1*mau2
u=math.gcd(abs(tu),abs(mau))
tu//=u
mau//=u
if tu>mau:
    print(tu//mau,",",tu%mau,"/",mau,sep="")
else:
    print(tu,"/",mau,sep="")
#Chia
tu=tu1*mau2
mau=tu2*mau1
u=math.gcd(abs(tu),abs(mau))
tu//=u
mau//=u
if tu>mau:
    print(tu//mau,",",tu%mau,"/",mau,sep="")
else:
    print(tu,"/",mau,sep="")

 

Bài 95: Viết chương trình con tính tổng các phần tử trong 1 mảng ?

 

def tong(a):
    s=0    
    for i in range(0,len(a)):
        s+=a[i]            
    return s
#
n=int(input())
a=list(map(int,input().split()))
tbc=tong(a)/len(a)
print("%0.1f"%tbc)

 

Bài 96: Viết chương trình con tính tổng các phần tử chẵn trong 1 mảng ?

 

def tinh(a):
    s=0 
    dem=0
    for i in range(0,len(a)):
        if a[i]%2==0:
            s+=a[i]
            dem+=1
    return s,dem
#
n=float(input())
a=list(map(float,input().split()))
tong, dem=tinh(a)
if dem!=0:
	tbc=tong/dem
	print("%0.2f"%tbc)
else:
    print('0.00')

 

Bài 97: Đếm xem trong mảng có bao nhiêu số nguyên tố có sử dụng hàm ?

 

def ktnt(n):
    i=2
    while (i*i<n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
a=list(map(int,input().split()))
dem=0
for i in range(0,len(a)):
    if ktnt(a[i])==True:
        dem+=1
if dem>0:
    print(dem)
else:
    print("-")

 

Bài 98: Tính trung bình cộng các số nguyên tố trong mảng có sử dụng hàm ?

 

def ktnt(n):
    i=2
    while (i*i<=n) and (n%i!=0):
        i+=1
    return (i*i>n) and (n>1)
#
a=list(map(float,input().split()))
dem=0
tong=0
for i in range(0,len(a)):
    if ktnt(a[i])==True:
        dem+=1
        tong+=a[i]
if dem>0:
    tbc=tong/dem
    print("%0.2f"%tbc)
else:
    print("-")

 

Bài 99: Tính trung bình cộng các số chính phương trong mảng có sử dụng hàm ?

 

import sys,math

def ktcp(n):
    if n<0:
        return False
    x=int(math.sqrt(n))
    return (x*x==n)
#
a=list(map(int,input().split()))
dem=0
tong=0
for i in range(0,len(a)):
    if ktcp(a[i])==True:
        dem+=1
        tong+=a[i]
if dem>0:
    tbc=tong/dem
    print("%0.1f"%tbc)
else:
    print("-")

 

Bài 100: Viết 2 chương trình con tìm Max, Min và vị trí của Max, Min ?

 

def Max(a):
    M=a[0]
    vt=0
    for i in range(0,len(a)):
        if M<a[i]:
            M=a[i]
            vt=i
    return M, vt

def Min(a):
    M=a[0]
    vt=0
    for i in range(0,len(a)):
    	if M>a[i]:
            M=a[i]
            vt=i
    return M, vt

n=int(input())
a=list(map(int,input().split()))
M, vt=Max(a)
print(M,vt)
M, vt=Min(a)
print(M,vt) 

 

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !

 

Học lập trình Python- Giải đề 2 thi học sinh giỏi Tin học cấp huyện

Các em học sinh yêu thích học lập trình Python thân mến hôm nay thầy sẽ giải đề 2 thi học sinh giỏi Tin học cấp huyện có đáp án. Để cho các em có thể bám sát hơn nữa với đề thi cấp huyện, cấp tỉnh hoặc đề thi vào lớp 10 chuyên Tin sắp tới. Thầy đã soạn ra trong 20 đề các em có thể tham khảo thi thử để chuẩn bị thi tốt hơn trong kỳ thi khó khăn và đầy thử thách sắp tới! Thầy chúc tất cả các em vượt qua kì thi thật tốt nhé!

  • Còn em nào chưa giải đề được mà muốn học từ cơ bản đến nâng cao và đến giải đề thi vào đường link phía dưới các em nhé!
    1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học 

Nguồn: 300bàicode.vn

  • Còn em nào chưa giải đề được mà muốn học từ cơ bản đến nâng cao và đến giải đề thì vào đường link phía dưới các em nhé!

Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học 

Các phần mềm lập trình Python PyCharm Edu 2020.2.2 bao gồm:

  • Phiên bản dành cho Windows 10 và Windows 11:

Tải bằng google driver

  • Phiên bản dành cho Windows 7:

Tải bằng google driver

Rồi còn chờ gì nữa mà không vào giải đề thôi nào !

Học lập trình Python bằng cách Giải đề 2 thi học sinh giỏi Tin học cấp huyện

STTTÊN BÀITÊN FILEFILE DỮ LIỆUFILE XUẤT
Bài 1Tính khung tuổi 

D021.*

D021.INPDO21.OUT
Bài 2In ra những số nguyên chẵn từ m đến nD022.*D022.INPD022.OUT
Bài 3In các số lẻ trong mảngD023.*D023.INPD023.OUT
Bài 4In các phần tử có trong xâu sD024.*D024.INPD024.OUT
Bài 5Tính tổng n số nguyên tố đầu tiênD025.*D025.INPD025.OUT

Dấu * được thay thế bởi PY, CPP của ngôn ngữ lập trình được sử ( tương ứng là Python hoặc C++)

Bài 1: (4 điểm) Tính khung tuổi từ mẫu giáo đến đại học?

  • Diễn giải: Nhập vào tuổi của 3 học sinh, tính tuổi trung bình. Cho biết tuổi trung bình đó thuộc khung tuổi nào sau đây:
    1. Nếu tuổi trung bình <6: Mẫu giáo
    2. Nếu tuổi trung bình từ 6 đến 11: Tiểu học
    3. Nếu: 11 < tuổi trung bình <=15: Trung học cơ sở
    4. Nếu: 15< tuổi trung bình <=18: Trung học phổ thông
    5. Nếu tuổi trung bình >18: Trung cấp, cao đẳng, đại học
  • Input: Ba số nguyên a, b, c trên một dòng cho biết tuổi của 3 học sinh, các số phân tách nhau bởi dấu cách, (0<a, b, c<100).
  • Output: Tuổi trung bình (2 chữ số thập phân), dấu và khung tuổi
  • Ví dụ:
Input

Output

5 7 107.33-Tieu hoc
19 13 1515.67-Trung hoc pho thong

Bài 2: (4 điểm) In những số nguyên chẵn từ m đến n?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • In ra những số nguyên chẵn từ m đến n
  • Input:
    • Hai số nguyên dương m và (0<m, n<106)
    • Mỗi số trên một dòng.
  • Output: Các số nguyên chẵn từ m đến n trên cùng một dòng, các số cách nhau một dấu cách. Nếu không có số chẵn nào từ m đến n thì in dấu
  • Ví dụ:
Input

Output

11

15

12 14

 

22468 10 12

Bài 3: (4 điểm) In các số có lẽ trong mảng?

  • Diễn giải:
    • Nhập vào một mảng a có n số nguyên: ao, ai, a2, an-i,
    • in các số có lẽ của mảng theo thứ tự xuất hiện trong mảng, mỗi số một dòng
  • Input:
    • Dòng một là số nguyên n (0<n<106).
    • Dòng hai là n số nguyên có giá trị tuyệt đối không vượt quá 105, cách nhau bởi dấu cách.
  • Output:
    • Các số có lẽ của mang theo thứ tự xuất hiện trong mảng, mỗi số một dòng.
    • Nếu không có số lẻ nào trong mảng thì in dấu “-“
  • Ví dụ:
Input

Output

79
9 0 3 8 6 7-23
7
55
5 76847

Bài 4: (4 điểm) In các từ có trong xâu s ?

  • Diễn giải: Nhập vào một xâu s. In các từ có trong xâu s
  • Input: Xâu s trên một dòng, có độ dài không vượt quá 105, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dâu cách.
  • Output: Các từ trong xâu theo thứ tự xuất hiện, mỗi từ một dòng
  • Ví dụ:
InputOutput
Toi hoc LAP TRINH Python tu nam 2024Toi

hoc

LAP

TRINH

Python

Tu

nam

2024

Thi HOC SINH GIOI mon Tin Hoc vao thang 02/2025Thi

HOC

SINH

GIOI

Mon

Tin

Hoc

vao

thang

02/2025

Bài 5: (4 điểm) Tính tổng n số nguyên tố đầu tiên?

  • Diễn giải:
    • Nhập vào một số tự nhiên n.
    • Tính tổng n số nguyên tố đầu tiên Số nguyên tố là số chỉ chia hết cho 1 và chính nó (chỉ có 2 ước)
    • Ví dụ:
      • n=7 là số nguyên tố vì 7 chỉ chia hết cho 1 và 7
      • n=8 Không là số nguyên tố vì 8 chia hết cho 1 và 8 nhưng còn chia hết cho 2 và 4
      • Số nguyên tố thứ nhất là 2
      • Dãy số nguyên tố: 2,3,5, 7,11, 13,17, 19,23,29,31,37,….
  • Input: Một số nguyên n (0<n<103)
  • Output: Tính tổng n số nguyên tố đầu tiên

    Input

    Output

    417
    758

Giải bài 1: (4 điểm) Tính khung tuổi từ mẫu giáo đến đại học?

 

import sys
sys.stdin=open('D021.INP','r')
sys.stdout=open('D021.OUT','w')
a,b,c=map(int,input().split())
#C1
TBC=(a+b+c)/3
print('%0.2f'%TBC,'-',sep='',end='')
if TBC<6:
    print('Mau giao')
elif 6<=TBC<11:
    print('Tieu hoc')
elif 11<TBC<=15:
    print('Trung hoc co so')
elif 15<TBC<=18:
    print('Trung hoc pho thong')
elif TBC>18:
    print('Trung cap, cao dang, dai hoc')

Giải Bài 2: (4 điểm) In những số nguyên chẵn từ m đến n?

import sys
sys.stdin=open('D022.INP','r')
sys.stdout=open('D022.OUT','w')
m=int(input())
n=int(input())
dem=0
for i in range(m,n+1):
    if i%2==0:
        dem+=1
        print(i,end=' ')
if dem==0:
    print('-')

Giải Bài 3: (4 điểm) In các số có lẽ trong mảng?

 

import sys
sys.stdin=open('D023.INP','r')
sys.stdout=open('D023.OUT','w')
n=int(input())
a=list(map(int,input().split()))
dem=0
for i in range(len(a)):
    if a[i]%2!=0:
        dem+=1
        print(a[i])
if dem==0:
    print('-')

Giải Bài 4: (4 điểm) In các từ có trong xâu s ?

 

import sys
sys.stdin=open('D024.INP','r')
sys.stdout=open('D024.OUT','w')
n=input().split()
for i in n:
    print(i)

Giải Bài 5: (4 điểm) Tính tổng n số nguyên tố đầu tiên?

 

import sys
sys.stdin=open('D025.INP','r')
sys.stdout=open('D025.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
n=int(input())
dem=0
tong=0
i=0
while dem<n:
    if ktnt(i):
        dem+=1
        tong+=i
    i+=1
print(tong)

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay !” còn lại chỉ 9 bạn!

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện và cấp tỉnh.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

 

  • Hotline: 093.717.9278 ( Gặp Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Website: vitinhtandan.com
  • Email: vitinhtandan@gmail.com