Thẻ: 100 bài tập Python có bạn có lời giải

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ào Dữ liệu xuất ra
Võ Cao Cường Xin 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ào Dữ liệu xuất ra
5489.15163 5489.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ào Dữ liệu xuất ra
9 Chúc mừng bạn đã đậu
4 Chú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ào Dữ liệu xuất ra
5 Số dương
-3 Số âm
0 Số 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ào Dữ liệu xuất ra
7 Bạ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 ?

 

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 !