0% found this document useful (0 votes)
24 views46 pages

Python

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views46 pages

Python

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Đề 1: class hình tứ giác gồm độ dài các cạnh

class TuGiac:

def init (self,a,b,c,d):

self.a = a

self.b = b

self.c = c

self.d = d

def tinhCV(self):

return self.a+self.b+self.c+self.d

def tim_canh_max(self):

return max(self.a,self.b,self.c,self.d)

tg = []

l_cv = []

for i in range(3):

print("Hinh tu giac thu %d: " %(i+1))

a = int(input("Nhap canh a: "))

b = int(input("Nhap canh b: "))

c = int(input("Nhap canh c: "))

d = int(input("Nhap canh d: "))

ob = TuGiac(a,b,c,d)

[Link](ob)

l_cv.append(TuGiac(a,b,c,d).tinhCV())

for i in range(3):

print("CV cua hinh tu giac thu",(i+1),"la: ",tg[i].tinhCV())

# tim canh max cua moi tu giac

for i in range(3):

print("Canh nho nhat cua tu giac thu",(i+1),"la: ",tg[i].tim_canh_max())

# tim hinh co CV min

print("Tu giac co CV min la: ")

print('{:<8} {:<8} {:<8} {:<8} {:<8}'.format('Canh a','Canh b','Canh c','Canh d','Chu vi'))

for i in range(3):

if l_cv[i] == min(l_cv):

print('{:<8} {:<8} {:<8} {:<8} {:<8}'.format(tg[i].a,tg[i].b,tg[i].c,tg[i].d,tg[i].tinhCV()))


Đề 2: hình chữ nhật gồm độ dài các cạnh và 3 phương thức tính chu vi, tính diện tích, tính
độ dài đường chéo.
- Nhập 1 list có 3 hình chữ nhật (hình chữ nhật là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo
giao diện GUI)

- Tính chu vi của 3 hình chữ nhật vưà nhập

- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có độ dài đường chéo nhỏ nhất.'''

import math

class HinhCN:

def init (self,dai,rong):

[Link] = dai

[Link] = rong

def tinhCV(self):

return ([Link]+[Link])*2

def tinhDT(self):

return [Link]*[Link]

def tinh_dc(self):

dc = [Link]([Link]**2+[Link]**2)

return '%.4f'%dc

hcn = []

DC = []

for i in range(3):

print("Nhap hcn thu %d" %(i+1))

dai = int(input("Nhap chieu dai: "))

rong = int(input("Nhap chieu rong: "))

ob = HinhCN(dai,rong)

[Link](ob)

[Link](HinhCN(dai,rong).tinh_dc())

# tinh CV

for i in range(3):

print("CV cua hcn thu",(i+1),"la: ",hcn[i].tinhCV())

# tinh DT

for i in range(3):
print("DT cua hcn thu",(i+1),"la: ",hcn[i].tinhDT())

# tim dg cheo min

for i in range(3):

if DC[i] == min(DC):

print("HCN thu",(i+1),"co duong cheo min la: ",DC[i])

Đề 3:' hình vuông gồm độ dài các cạnh và 3 phương thức tính chu vi, tính diện tích, tính
độ dài đường chéo.
- Nhập 1 list có 3 hình vuông (hình vuông là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao
diện GUI)

- Tính chu vi của 3 hình vuông vưà nhập

- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có độ dài đường chéo lớn nhất.'''

import math

class HinhVuong:

def init (self,a):

self.a = a

def tinhCV(self):

return self.a*4

def tinhDT(self):

return self.a*self.a

def tinh_duong_cheo(self):

return (self.a*[Link](2))

hv = []

list_dc = []

for i in range(3):

print("Hinh vuong thu %d la" %(i+1))

a = int(input("Nhap canh hv: "))

ob = HinhVuong(a)

[Link](ob)

list_dc.append(ob.tinh_duong_cheo())

# tinh CV cua moi hv

print("CV cua moi hv la: ")

print('{:<8} {:<8}'.format('Canh hv','Chu vi'))


for i in range(0,3):

print('{:<8} {:<8}'.format(hv[i].a,hv[i].tinhCV()))

# tong DT cua 3 hv

tong_DT = 0

for i in range(3):

tong_DT += hv[i].tinhDT()

print("Tong DT cua 3 hv vua nhap la: ", tong_DT)

# đg chéo max:

for i in range(3):

if list_dc[i] == max(list_dc):

print("Hinh",(i+1),"co duong cheo min la: ", list_dc[i])

Đề 4: hình thang vuông gồm độ dài các cạnh và 2 phương thức tính chu vi, tính diện tích.
b. Yêu cầu 2 (CĐR L2; 4 điểm)

- Nhập 1 list có 3 hình thang vuông (hình thang vuông là các object tạo bởi class trong yêu cầu 1. Khuyến khích
tạo giao diện GUI)

- Tính chu vi của 3 hình thang vuông vưà nhập

- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có độ diện tích lớn nhất.'''

class Thangvuong:

def init (self,canhtren,canhduoi,chieucao,canhben):

[Link]=canhtren

[Link]=canhben

[Link]=canhduoi

[Link]=chieucao

def Chuvi(self):

return [Link] + [Link] + [Link] + [Link]

def Dientich(self):

return ([Link] + [Link])*[Link] /2

HTV=[]

HTV_DT=[]

for i in range(3):

canhtren=float(input("Cạnh trên là "))


canhben=float(input("Cạnh bên là "))

canhduoi=float(input("Cạnh dưới là "))

chieucao=float(input("Chiều cao là "))

ob=Thangvuong(canhtren,canhben,canhduoi,chieucao)

[Link](ob)

HTV_DT.append(Thangvuong(canhtren,canhben,canhduoi,chieucao).Dientich())

print("Ba hình thang vuông")

print('{:<9} {:<9} {:<9} {:<9} {:<9} {:<9} {:<9}'.format("STT","Cạnh trên","Cạnh bên","Cạnh dưới","Chiều
cao","Chu vi","Diện tích"))

for i in range(3):

print('{:<9} {:<9} {:<9} {:<9} {:<9} {:<9} {:<9}'

.format(i+1,HTV[i].canhtren,HTV[i].canhben,HTV[i].canhduoi,HTV[i].chieucao,HTV[i].Chuvi(),HTV[i].Dient
ich()))

tong=0

for i in range(3):

tong=tong+ HTV_DT[i]

print("Tổng diện tích 3 hình là ",tong)

for i in range(3):

if HTV_DT[i]==max(HTV_DT):

print("hình thang vuông thứ",i+1,"là hình có diện tích lớn nhất")

Đề 5: hình tam giác gồm độ dài các cạnh và 2 phương thức tính chu vi, tính diện tích.
b. Yêu cầu 2 (CĐR L2; 4 điểm)

- Nhập 1 list có 3 hình tam giác (hình tam giác là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo
giao diện GUI)

- Tính chu vi của 3 hình vưà nhập

- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có diện tích nhỏ nhất.'''

import math

class tamgiac:

def init (self,a,b,c):

self.a=a

self.b=b
self.c=c

def chuvi(self):

return self.a + self.b + self.c

def dientich(self):

p= (self.a + self.b + self.c)/2

dt= [Link](p*(p-self.a)*(p-self.b)*(p-self.c))

return dt

TG=[]

DTTG=[]

for i in range(3):

a=float(input("Cạnh a= "))

b=float(input("Cạnh b= "))

c=float(input("Cạnh c= "))

ob=tamgiac(a,b,c)

[Link](ob)

[Link](tamgiac(a,b,c).dientich())

print("Ba tam giác là")

print('{:<9} {:<9} {:<9} {:<9} {:<9} {:<9}'.format("STT","Cạnh a","Cạnh b","Cạnh c","Chu vi","Diện tích"))

for i in range(3):

print('{:<9} {:<9} {:<9} {:<9} {:<9}


{:<9}'.format(i+1,TG[i].a,TG[i].b,TG[i].c,TG[i].chuvi(),TG[i].dientich()))

tong=0

for i in range(3):

tong=tong + DTTG[i]

print("Tổng diện tích của 3 tam giác là ",tong)

for i in range(3):

if DTTG[i]==min(DTTG):

print("Tam giác thứ",i+1,"là tam giác có diện tích nhỏ nhất")

Đề 6: hình tam giác vuông gồm độ dài 2 cạnh góc vuông và 3 phương thức tính độ dài
cạnh huyền, tính diện tích, tính chu vi.
b. Yêu cầu 2 (CĐR L2; 4 điểm)

- Nhập 1 list có 3 hình tam giác (hình tam giác là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo
giao diện GUI)

- Tính độ dài cạnh huyền của 3 hình vưà nhập


- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có chu vi lớn nhất.'''

import math

class tamgiac:

def init (self,a,b):

self.a=a

self.b=b

def canhhuyen(self):

ch= [Link](self.a **2 + self.b**2)

return round(ch,3)

def chuvi(self):

c=[Link](self.a **2 + self.b**2)

cv= self.a + self.b + c

return round(cv,3)

def dientich(self):

dt= (self.a * self.b)/2

return round(dt,3)

TG=[]

DTTG=[]

CVTG=[]

for i in range(3):

a=float(input("Cạnh a= "))

b=float(input("Cạnh b= "))

ob=tamgiac(a,b)

[Link](ob)

[Link](tamgiac(a,b).dientich())

[Link](tamgiac(a,b).chuvi())

print("Ba tam giác vuông")

print('{:<9} {:<9} {:<9} {:<9} {:<9} {:<9}'.format("STT","Cạnh a","Cạnh b","Cạnh huyền","Chu vi","Diện
tích"))

for i in range(3):

print('{:<9} {:<9} {:<9} {:<9} {:<9}


{:<9}'.format(i+1,TG[i].a,TG[i].b,TG[i].canhhuyen(),TG[i].chuvi(),TG[i].dientich())) tong=0
for i in range(3):

tong=tong + DTTG[i]

print("Tổng diện tích là ",tong)

for i in range (3):

if CVTG[i]== max(CVTG):

print("Tam giác thứ",i+1,"Có chu vi lớn nhất")

Đề 7: hình tam giác đều gồm độ dài cạnh và 3 phương thức tính độ dài đường cao, tính
diện tích, tính chu vi.
b. Yêu cầu 2 (CĐR L2; 4 điểm)

- Nhập 1 list có 3 hình tam giác đều(hình tam giác là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo
giao diện GUI)

- Tính độ dài đường cao của 3 hình vưà nhập

- In ra tổng diện tích của 3 hình vừa nhập

- Tìm hình có chu vi nhỏ nhất.'''

import math

class tamgiac:

def init (self,a):

self.a=a

def duongcao(self):

dc= self.a * [Link](3)/2

return round(dc,3)

def chuvi(self):

return self.a *3

def dientich(self):

dt= self.a * self.a * [Link](3)/4

return round(dt,3)

TG=[]

DTTG=[]

CVTG=[]

for i in range(3):

a=float(input("Nhập a= "))

ob=tamgiac(a)

[Link](ob)
[Link](tamgiac(a).chuvi())

[Link](tamgiac(a).dientich())

print("Tam giac cần tìm là ")

print('{:<9} {:<9} {:<9} {:<9} {:<9}'.format("STT","Cạnh","Đường cao","Chu vi","Diện tích"))

for i in range(3):

print('{:<9} {:<9} {:<9} {:<9} {:<9}'.format(i+1,TG[i].a,TG[i].duongcao(),TG[i].chuvi(),TG[i].dientich()))

tong=0

for i in range(3):

tong=tong + DTTG[i]

print("Tổng diện tích 3 tam giác là ",tong)

for i in range(3):

if CVTG[i]==min(CVTG):

print("Tam giác thứ",i+1,"có chu vi nhỏ nhất")

Đề 8: hình hộp chữ nhật gồm độ dài cạnh và 2 phương thức tính diện tích xung quanh,
tính thể tích.
- Nhập 1 list có 3 hình hộp chữ nhật (hình hộp chữ nhật là các object tạo bởi class trong yêu cầu 1. Khuyến
khích tạo giao diện GUI)

- Tính diện tích xung quanh của 3 hình vưà nhập

- In ra tổng thể tích của 3 hình vừa nhập

- Tìm hình có thể tích lớn nhất.'''

class HinhHopCN:

def init (self,a,b,h):

self.a = a

self.b = b

self.h = h

def dientichXQ(self):

return 2*self.h*(self.a+self.b)

def thetich(self):

return self.a*self.b*self.h

hhcn = []

list_V = []

for i in range(3):

print("Nhap hhcn thu %d" %(i+1))

a = int(input("Nhap a = "))
b = int(input("Nhap b = "))

h = int(input("Nhap h = "))

ob = HinhHopCN(a,b,h)

[Link](ob)

list_V.append(HinhHopCN(a,b,h).thetich())

# DT xq cua 3 hhcn

for i in range(3):

print("Dien tich xq cua hhcn thu",(i+1),"la: ",hhcn[i].dientichXQ())

# tong the tich

tongV = 0

for i in range(3):

tongV += hhcn[i].thetich()

print("Tong the tich cua 3 hhcn vua nhap la: ", tongV)

# hinh co V max

for i in range(3):

if list_V[i] == max(list_V):

print("HHCN thu",(i+1),"co V max la: ",list_V[i])

Đề 9: đường thẳng gồm tọa độ của 2 điểm trong mặt phẳng và 1 phương thức tính độ dài
của đoạn thẳng.
- Nhập 1 list có 3 đoạn thẳng (đoạn thẳng là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- Tính độ dài 3 đoạn thẳng vừa nhập

- Kiểm tra xem 3 cạnh vừa nhập có lập thành tam giác không?

- Tìm đoạn thẳng dài nhất nhất.'''

import math

class DuongThang:

def init (self,x1,y1,x2,y2):

self.x1 = x1

self.y1 = y1

self.x2 = x2

self.y2 = y2

def dodai(self):

return [Link]((self.x2-self.x1)**2+(self.y2-self.y1)**2)

dt = []
dodai = []

for i in range(3):

print("Nhap duong thg thu %d"%(i+1))

x1 = float(input("Nhap x1 = "))

y1 = float(input("Nhap y1 = "))

x2 = float(input("Nhap x2 = "))

y2 = float(input("Nhap y2 = "))

ob = DuongThang(x1,y1,x2,y2)

[Link](ob)

[Link](DuongThang(x1,y1,x2,y2).dodai())

# tinh do dai

for i in range(3):

print("Do dai doan thang thu",(i+1),"la: ",dt[i].dodai())

# ktra tam giac

if dodai[0] + dodai[1] > dodai[2] and dodai[0] + dodai[2] > dodai[1] and dodai[1] + dodai[2] > dodai[0]:

print("3 doan thang tao thanh 1 tam giac")

else:

print("Ko tao thanh tam giac")

# doan thang max

for i in range(3):

if dodai[i] == max(dodai):

print("Vay doan thang thu",(i+1),"co do dai la: ",dodai[i])

Đề 10: class thí sinh gồm tên, năm sinh, điểm toán, điểm văn, điểm ngoại ngữ và 2
phương thức tính tuổi (tuồi = năm hiện tại – năm sinh), tính tổng điểm 3 môn
- Nhập 1 list có 3 thí sinh (thí sinh là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện GUI)

- Tính tổng điểm 3 môn của mỗi thí sinh vừa nhập

- Tìm thí sinh ít tuổi nhất?

- Tìm thí sinh có điểm toán lớn nhất.'''

class SinhVien:

def init (self,Hoten,Namsinh,Toan,Van,NN):

[Link] = Hoten

[Link] = Namsinh
[Link] =

Toan [Link] =

Van [Link] =

NN

def tinhtuoi(self):

return [Link]

def tong_3mon(self):

return [Link] + [Link] + [Link]

sv= []

tuoi = []

for i in range(3):

print("Nhap sv thu %d" %(i+1))

ten = input("Nhap ten sv: ")

namsinh = int(input("Nam sinh: "))

toan = float(input("Nhap diem toan: "))

van = float(input("Nhap diem van: "))

nn = float(input("Nhap diem nn: "))

ob = SinhVien(ten,namsinh,toan,van,nn)

[Link](ob)

[Link](SinhVien(ten,namsinh,toan,van,nn).tinhtuoi())

# tong diem cua moi sv

print("Tong diem cua moi thi sinh la: ")

print('{:<15} {:<10} {:<8} {:<8} {:<8} {:<10}'.format('Ho ten','Nam sinh','Toan','Van','NN','Tong diem'))

for i in range(3):

print('{:<15} {:<10} {:<8} {:<8} {:<8}


{:<10}'.format(sv[i].Hoten,sv[i].Namsinh,sv[i].Toan,sv[i].Van,sv[i].NN,sv[i].tong_3mon()))

# thi sinh it tuoi nhat

for i in range(3):

if tuoi[i] == min(tuoi):

print("Thi sinh co tuoi it nhat la:",sv[i].Hoten,"co so tuoi la:",tuoi[i])

# thi sinh co diem toan cao nhat

for i in range(0,2):

for j in range(i+1,3):

if sv[i].Toan >

sv[j].Toan: sv[i],sv[j] =

sv[j],sv[i]

print("SV co diem toan cao nhat la: ")


print('{:<15} {:<10} {:<8} {:<8} {:<8} {:<10}'.format('Ho ten','Nam sinh','Toan','Van','NN','Tong diem'))

print('{:<15} {:<10} {:<8} {:<8} {:<8}


{:<10}'.format(sv[j].Hoten,sv[j].Namsinh,sv[j].Toan,sv[j].Van,sv[j].NN,sv[j].tong_3mon()))

Đề 11: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số chẵn/ lẻ,
kiểm tra số nguyên tố, kiểm tra số chính phương.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số chẵn

- Tính tổng các số chính phương?

- Tìm số nguyên tố lớn nhất.'''

import math

class SoNguyen:

def init (self,n):

self.n = n

def chan_le(self):

if self.n%2==0:

return True

else:

return False

def soNT(self):

if self.n<2:

return False

else:

for i in range(2,int([Link](self.n)+1)):

if self.n%i==0:

return False

else:

return True

def chinhphuong(self):

i=0

while (i*i<=self.n):

if i*i==self.n:

return True

i+=1
else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

# in so chan

so_chan = []

for x in ds:

a = SoNguyen(x)

if a.chan_le() ==

True:

so_chan.append(x)

if len(so_chan)!=0:

print("Ds so chan la: ", so_chan)

else:

print("Ko co so chan")

# tong so chinh phuong

tong = 0

for x in ds:

b = SoNguyen(x)

if [Link]() == True:

tong += x

print("Tong cac so chinh phuong la: ", tong)

# SNT max

snt = []

for x in ds:

c = SoNguyen(x)

if [Link]() == True:

[Link](x)

if len(snt) != 0:

print("SNT max la: ", max(snt))

else:

print("Ko co snt")

or
'''Tạo class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số chẵn/ lẻ, kiểm tra số nguyên tố,
kiểm tra số chính phương.

- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số chẵn

- Tính tổng các số chính phương?

- Tìm số nguyên tố lớn nhất.'''

from tkinter import *

# tạo cửa sổ mới

cuaso = Tk()

[Link](' Bài học đầu tiên ')

[Link]('350x300')

[Link]('-topmost', True)

# tạo label

nhan1 = Label(cuaso, font=('Arial,Bold', 12), text='Nhap so 1: ')

[Link](x=10, y=20)

nhan2 = Label(cuaso, font=('Arial,Bold', 12), text='Nhap so 2: ')

[Link](x=10, y=50)

nhan3 = Label(cuaso, font=('Arial,Bold', 12), text='Nhap so 3: ')

[Link](x=10, y=80)

# tạo entry

entry1 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=100, y=20)

entry2 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=100, y=50)

entry3 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=100, y=80)

[Link]()

import math

class SoNguyen():

def init (self, n):


self.n = n

def chan_le(self):

if self.n % 2 == 0:

return True

else:

return False

def soNT(self):

if self.n < 2:

return False

else:

for i in range(2, int([Link](self.n) + 1)):

if self.n % i == 0:

return False

else:

return True

def chinhphuong(self):

i=0

while (i * i <= self.n):

if i * i == self.n:

return True

i += 1

else:

return False

def Thuchien():

a = int([Link]())

b = int([Link]())

c = int([Link]())

ds = []

[Link](a)
[Link](b)

[Link](c)

# in so chan

so_chan = []

for x in ds:

a1 = SoNguyen(x)

if a1.chan_le() == True:

so_chan.append(x)

if len(so_chan) != 0:

# print("Ds so chan la: ", so_chan)

nhan32 = Label(cuaso, font=('Arial,Bold', 12), text='So chan la: ' + str(so_chan))

[Link](x=110, y=150)

else:

# print("Ko co so chan")

nhan33 = Label(cuaso, font=('Arial,Bold', 12), text='Ko co so chan ')

[Link](x=110, y=150)

# tong so chinh phuong

tong = 0

for x in ds:

b1 = SoNguyen(x)

if [Link]() == True:

tong += x

# print("Tong cac so chinh phuong la: ", tong)

if tong != 0:

nhan3 = Label(cuaso, font=('Arial,Bold', 12), text='Tong chinh phuong la: ' + str(tong))

[Link](x=110, y=180)

else:

nhan31 = Label(cuaso, font=('Arial,Bold', 12), text='Khong co so chinh phuong ')

[Link](x=110, y=180)

# SNT max

snt = []

for x in ds:

c = SoNguyen(x)
if [Link]() == True:

[Link](x)

if len(snt) != 0:

# print("SNT max la: ", max(snt))

nhan4 = Label(cuaso, font=('Arial,Bold', 12), text='Max nt la: ' + str(max(snt)))

[Link](x=110, y=210)

else:

# print("Ko co snt")

nhan5 = Label(cuaso, font=('Arial,Bold', 12), text='Khong co so nt ')

[Link](x=110, y=210)

but = Button(cuaso, font=('Arial,Bold', 12), text='Ket qua', command=Thuchien)

[Link](x=250, y=100)

[Link]()

Đề 12: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số chẵn/ lẻ,
kiểm tra số nguyên tố, kiểm tra số chính phương.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số lẻ

- Tính tích các số nguyên tố?

- Tìm số chính phương nhỏ nhất.'''

import math

class SoNguyen:

def init (self,n):

self.n = n

def chan_le(self):

if self.n%2==0:

return True

else:

return False

def soNT(self):

if self.n<2:

return False
else:

for i in range(2,int([Link](self.n)+1)):

if self.n%i==0:

return False

else:

return True

def chinhphuong(self):

i=0

while (i*i<=self.n):

if i*i==self.n:

return True

i+=1

else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

# in so le

so_le = []

for x in ds:

a = SoNguyen(x)

if a.chan_le() == False:

so_le.append(x)

if len(so_le)!=0:

print("Ds so le la: ", so_le)

else:

print("Ko co so le")

# tich cac snt

tich = 1

for x in

ds:

b = SoNguyen(x)

if [Link]() == True:

tich *= x
print("Tich cac snt la: ",

tich) # so chinh phuong min

so_cp = []

for x in ds:

c = SoNguyen(x)

if [Link]() == True:

so_cp.append(x)

if len(so_cp)!=0:

print("So chinh phuong max la: ", max(so_cp))

else:

print("Ko co so chinh phuong")

Đề 13: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số
âm/dương, kiểm tra số đối xứng, kiểm tra số hoàn thiện.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số âm

- Tính tổng các số đối xứng?

- Tìm số hoàn thiện nhỏ nhất.'''

class SoNguyen:

def init (self,n):

self.n = n

def amduong(self):

if self.n>0:

return True

else:

return False

def soDoiXung(self):

m = str(self.n)

p = m[::-1]

if m==p:

return True

else:

return False

def soHoanThien(self):
s=0

for i in range(1,self.n):

if self.n%i==0:

s += i

if s==self.n:

return True

else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

# in so am

so_am = []

for x in ds:

a = SoNguyen(x)

if [Link]() == False:

so_am.append(x)

if len(so_am)!=0:

print("Ds so am la: ",so_am)

else:

print("Ko co so

am") # tong so doi

xung tong = 0

for x in ds:

b = SoNguyen(x)

if [Link]() == True:

tong += x

print("Tong cac so doi xung la:",tong)

# so hoan thien min

so_ht = []

for x in ds:

c = SoNguyen(x)

if [Link]() == True:
so_ht.append(x)

if len(so_ht)!=0:

print("So hoan thien min la: ",min(so_ht))

else:

print("Ko co so hoan thien")

Đề 14: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số
âm/dương, kiểm tra số đối xứng, kiểm tra số hoàn thiện.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số dương

- Tính tổng các số hoàn thiện?

- Tìm số đối xứng lớn nhất.'''

class SoNguyen:

def init (self,n):

self.n = n

def amduong(self):

if self.n>0:

return True

else:

return False

def soDoiXung(self):

m = str(self.n)

p = m[::-1]

if m==p:

return True

else:

return False

def soHoanThien(self):

s=0

for i in range(1,self.n):

if self.n%i==0:

s += i

if s==self.n:

return True
else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

# in so duong

so_dg = []

for x in ds:

a = SoNguyen(x)

if [Link]() == True:

so_dg.append(x)

if len(so_dg)!=0:

print("Ds so duong la: ",so_dg)

else:

print("Ko co so duong")

# tong so hoan thien

tong = 0

for x in ds:

b = SoNguyen(x)

if [Link]() == True:

tong += x

print("Tong cac so hoan thien la:",tong)

# so doi xung max

so_dx = []

for x in ds:

c = SoNguyen(x)

if [Link]() == True:

so_dx.append(x)

if len(so_dx)!=0:

print("So doi xung max la: ",max(so_dx))

else:

print("Ko co so doi xung")


Đề 15: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số
âm/dương, kiểm tra số đối xứng, kiểm tra số hoàn thiện.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số hoàn thiện

- Tính tích các đối xứng?

- Tìm số âm lớn nhất.'''

class SoNguyen:

def init (self,n):

self.n = n

def amduong(self):

if self.n>0:

return True

else:

return False

def soDoiXung(self):

m = str(self.n)

p = m[::-1]

if m==p:

return True

else:

return False

def soHoanThien(self):

s=0

for i in range(1,self.n):

if self.n%i==0:

s += i

if s==self.n:

return True

else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))
[Link](n)

# in so hoan thien

so_ht = []

for x in ds:

a = SoNguyen(x)

if [Link]() == True:

so_ht.append(x)

if len(so_ht)!=0:

print("Ds so hoan thien la: ",so_ht)

else:

print("Ko co so hoan thien")

# tich so doi xung

tich = 1

for x in

ds:

b = SoNguyen(x)

if [Link]() == True:

tich *= x

print("Tong cac so doi xung la:",tich)

# so am max

so_am = []

for x in ds:

c = SoNguyen(x)

if [Link]() == False:

so_am.append(x)

if len(so_am)!=0:

print("So am max la: ",max(so_am))

else:

print("Ko co so am")

Đề 16: class số thực gồm giá trị của số thực và 3 phương thức kiểm tra số âm, kiểm tra
số dương, đếm số chữ số sau dấy phẩy.
#b. Yêu cầu 2 (CĐR L2; 4 điểm)

# - Tạo 1 tuple có 3 số thưc (số thực là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

# - In ra các số dương

# - Tính tích các âm?


# - Tìm số có số các chữ số sau dấu phảy nhiều nhất (số có phần thập phân dài nhất).

class Sothuc:

def init (self,n):

self.n = n

def ktam(self):

if self.n< 0:

return True

def ktduong(self):

if self.n >0:

return True

def dem(self):

if self.n %1 ==0:

return 0

else:

self.n = str(self.n)

return self.n[::-1].find('.')

l=[]

s=[]

for i in range(0,3):

a =float(input("nhap:"))

[Link](Sothuc(a))

obj =Sothuc

[Link](obj)

tich =1

for i in range(0,3):

if(s[i].ktduong()==1):

print("so: ",s[i].n)

for i in range(0,3):

if (s[i].ktam()==1):

tich *= s[i]

print(tich)
for i in range(0,3):

print("so cac chu so sau dau phay: ",(i+1,s[i].dem()))

Đề 17: class phương trình bậc 2 gồm giá trị a,b,c và 1 phương thức tìm nghiệm.
b. Yêu cầu 2 (CĐR L2; 4 điểm)

- Tạo 1 list có 2 phương trình bậc 2 (phương trình bậc 2 là các object tạo bởi class trong yêu cầu 1. Khuyến
khích tạo giao diện GUI)

- In ra nghiệm của 2 phương trình vừa nhập

- Tạo 1 tuple chứa các nghiệm của 2 phương trình?

- Tìm nghiệm lớn nhất trong các nghiệm của 2 phương trình trên.'''

import math

class phuongtrinh:

def init (self,a,b,c):

self.a=a

self.b=b

self.c=c

def nghiem(self):

if self.a ==0:

if self.b==0:

return 0

else:

return -self.c/self.b

else:

denta= self.b**2- 4*self.a*self.c

if denta ==0:

return -self.b/ (2* self.a)

elif denta <0:

return False

else:
x1= -(self.b + [Link](denta)) / 2*self.a

x2= -(self.b - [Link](denta)) / 2*self.a

return x1,x2

pt=[]

for i in range(2):

a=int(input("a= "))

b=int(input("b= "))

c=int(input("C= "))

ob=phuongtrinh(a,b,c)

[Link](ob)

print("Hai phương trình bậc hai có nghiệm")

print('{:<9} {:<9} {:<9} {:<9} {:<9}'.format("STT","a","b","c","Nghiệm"))

for i in range(2):

print('{:<9} {:<9} {:<9} {:<9} {:<9}'.format(i+1,pt[i].a,pt[i].b,pt[i].c,pt[i].nghiem()))

nghiem=[]

for i in range(2):

[Link](pt[i].nghiem())

tup=tuple(nghiem)

print("Nghiệm phương trình là ",tup)

print("Nghiệm lớn nhất là ",max(nghiem))

or

from math import sqrt

INF = 'inf'

ERROR = 'error'

list_No = []

class GiaiPT_Bac1():

def init (self, a=0, b=0) -> None:


self.a = a

self.b = b

def giaiPT(self):

if self.a == 0:

if self.b == 0:

return 'inf'

else:

return 'error'

else:

x = -self.b/self.a

return [x]

class GiaiPT_Bac2():

def init (self, a=0, b=0, c=0) -> None:

self.a = a

self.b = b

self.c = c

def GiaiPT(self):

a = self.a

b = self.b

c = self.c

if a == 0:

phuongtrinh = GiaiPT_Bac1(a=b, b=c)

return [Link]()

else:

delta = (b**2-4*a*c)

if delta == 0:

return [-b/(2*a)]

if delta > 0:

delta = sqrt(delta)

x1 = (-b-delta)/(2*a)
x2 = (-b+delta)/(2*a)

return [x1, x2]

if delta < 0:

return 'inf'

def input(self):

self.a = float(input('a = '))

self.b = float(input('b = '))

self.c = float(input('c = '))

def PT_PhuonTrinh(pt):

if [Link]() == INF:

print('Phương trình Vô Nghiệm')

elif [Link]() == ERROR:

print('Phương trình Vô Lý')

elif len([Link]()) == 2:

list_No.append([Link]()[0])

list_No.append([Link]()[1])

print(

'Phương trình có 2 nghiệm là: x1 = {:.2f} x2 = {:.2f}'.format([Link]()[0], [Link]()[1]))

else:

list_No.append([Link]()[0])

print('Phương trình có 1 nghiệm là: {:.2f}'.format([Link]()[0]))

def main():

list_pt = []

for i in range(2):

print('Phương Trình Thứ ',

i)
temp = GiaiPT_Bac2()

[Link]()

list_pt.append(temp)

for i in range(2):

print("Giai Phuong Trinh ", i)

PT_PhuonTrinh(list_pt[i])

tub_no = tuple(list_No)

print(tub_no)

print('Nghiệm Lớn Nhất là: {:.2f}'.format(max(list_No)))

main()

# a = GiaiPT_Bac2(4, 3, 2)

# PT_PhuonTrinh(a)

Đề 18: class nhân viên gồm họ tên, số năm công tác, lương cơ bản, hệ số lương và
phương thức tính lương giả thiết rằng
lương = lương cơ bản * hệ số lương + số năm công tác *10% lương cơ bản.

- Tạo 1 list có 3 nhân viên (nhân viên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra danh sách đầy đủ các thông tin của 3 nhân viên vừa nhập

- Tìm nhân viên có số năm công tác lớn nhất

- Tính tổng lương của cả 3 nhân viên.'''

class NhanVien:

def init (self,Hoten,sonamCT,luongcb,hsluong):

[Link] = Hoten

[Link] = sonamCT

[Link] = luongcb

[Link] = hsluong

def tinh_luong(self):

return luongcb*hsluong + sonamCT*10*100*luongcb


nv = []

for i in range(3):

print("Nhap nhan vien thu %d"%(i+1))

ten = input("Nhap ten: ")

sonamCT = float(input("So nam cong tac: "))

luongcb = float(input("Luong co ban: "))

hsluong = float(input("He so luong: "))

ob = NhanVien(ten,sonamCT,luongcb,hsluong)

[Link](ob)

# ds nv

print("Ds nhan vien la: ")

print('{:<15} {:<15} {:<15} {:<15} {:<15}'.format('Ho ten','So nam CT','Luong CB','Hs luong','Luong'))

for i in range(3):

print('{:<15} {:<15} {:<15} {:<15}


{:<15}'.format(nv[i].Hoten,nv[i].sonamCT,nv[i].luongcb,nv[i].hsluong,nv[i].tinh_luong()))

# nv co so nam CT lon nhat la

for i in range(0,2):

for j in range(i+1,3):

if nv[i].sonamCT > nv[j].sonamCT:

nv[i],nv[j] = nv[j],nv[i]

print("Nhan vien co so nam CT lon nhat la:")

print('{:<15} {:<15} {:<15} {:<15}


{:<15}'.format(nv[j].Hoten,nv[j].sonamCT,nv[j].luongcb,nv[j].hsluong,nv[j].tinh_luong()))

# tong luong

tong = 0

for i in range(3):

tong += nv[i].tinh_luong()

print("Tong luong cua 3 nv la: ",

tong)

Đề 19: class hình tròn gồm bán kính và 2 phương thức tính chu vi, diện tích.
- Tạo 1 list có 5 hình tròn (hình tròn là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- Tính chu vi của 5 hình tròn vừa nhập

- Tìm tổng diện tích các hình tròn

- Tìm hình tròn nhỏ nhất.'''


class HinhTron:

def init (self,r):

self.r = r

def tinhCV(self):

return 2*3.14*self.r

def tinhDT(self):

return 3.14*self.r*self.r

ht = []

for i in range(5):

print("Nhap hinh tron thu %d" %(i+1))

r = float(input("Nhap bk: "))

[Link](HinhTron(r))

# CV hinh tron for

i in range(5):

print("CV cua hinh tron thu",(i+1),"la: ",ht[i].tinhCV())

# tong DT

tong = 0

for i in range(5):

tong += ht[i].tinhDT()

print("Tong DT cua 5 hinh tron la: ",tong)

# hinh tron nho nhat

for i in range(0,4):

for j in range(i+1,5):

if ht[i].r < ht[j].r:

ht[i],ht[j] = ht[j],ht[i]

print("Hinh tron nho nhat la hinh co ban kinh: ", ht[j].r)

Đề 20: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số
âm/dương, kiểm hoàn thiện, kiểm tra số chính phương.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số hoàn thiện

- Tính tích các số chính phương?

- Tìm số âm lớn nhất.'''


class SoNguyen:

def init (self,n):

self.n = n

def amduong(self):

if self.n>0:

return True

else:

return False

def soHoanThien(self):

s=0

for i in range(1,self.n):

if self.n%i==0:

s += i

if s==self.n:

return True

else:

return False

def chinhphuong(self):

i=0

while (i*i<=self.n):

if i*i==self.n:

return True

i+=1

else:

return False

ds = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

# in so hoan thien

so_ht = []

for x in ds:

a = SoNguyen(x)

if [Link]() == True:
so_ht.append(x)

if len(so_ht)!=0:

print("Ds so hoan thien la: ",so_ht)

else:

print("Ko co so hoan thien")

# tich so chinh phuong

tich = 1

for x in

ds:

b = SoNguyen(x)

if [Link]() == True:

tich *= x

print("Tong cac so chinh phuong la:",tich)

# so am max

so_am = []

for x in ds:

c = SoNguyen(x)

if [Link]() == False:

so_am.append(x)

if len(so_am)!=0:

print("So am max la: ",max(so_am))

else:

print("Ko co so am")

Đề 21: class lũy thừa gồm giá trị của 1 số nguyên và 3 phương thức tính bình phương,
tính lập phương, tính giai thừa
- Nhập 1 list có N object lũy thừa (là object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện GUI)

- Tạo 1 dictionary có key là số nguyên vừa nhập, value là lập phương của số nguyên đó.

- In ra giai thừa các số vừa nhập

- Tìm tổng lập phương các số vừa nhập.'''

class LuyThua:

def init (self,n):

self.n = n

def binhphuong(self):

return n*n
def lapphuong(self):

return n**3

def giaithua(self):

giaithua = 1

if n==0 or n==1:

return giaithua

for i in range(2,n+1):

giaithua *= i

return giaithua

x = int(input("Nhap so phan tu: "))

ds = [] # list vua nhap

ds_3 = [] # list lap phuong

ds_gt = [] # list giai thua

for i in range(x):

n = int(input("Nhap n = "))

ob = LuyThua(n)

[Link](n)

ds_3.append([Link]())

ds_gt.append([Link]())

dic = {}

for i in range(len(ds)):

dic[ds[i]] = ds_3[i]

print(dic)

# in ra giai thua

print("Giai thua cua cac so vua nhap la: ", ds_gt)

# tong lap phuong

tong = 0

for i in range(len(ds_3)):

tong += ds_3[i]

print("Tong giai thua la: ", tong)


Đề 22: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số chẵn/ lẻ,
kiểm tra số chính phương, tìm số đảo.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- In ra các số đảo của list số nguyên

- Tính tổng các số lẻ?

- Tìm số chính phương lớn nhất.'''

class SoNguyen:

def init (self,n):

self.n = n

def chan_le(self):

if self.n%2==0:

return True

else:

return False

def chinh_phuong(self):

i=0

while (i**i<=self.n):

if i**i==self.n:

return True

i += 1

else:

return False

def so_dao(self):

soDaoNguoc = 0

while(self.n>0):

chuSoCuoi = self.n % 10

soDaoNguoc = soDaoNguoc*10 + chuSoCuoi

self.n = self.n//10

return soDaoNguoc

number = []

so_cp = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)
# in so dao

for i in range(3):

print("So dao nguoc cua so thu", (i+1),"la: ", SoNguyen(number[i]).so_dao())

# tong so le

tong = 0

for x in number:

m = SoNguyen(x)

if m.chan_le() == False:

tong += x

print("Tong cac so le la: ",

tong) # so chinh phuong max:

for x in number:

a = SoNguyen(x)

if a.chinh_phuong() == False:

so_cp.append(x)

print("So chinh phuong lon nhat la: ", max(so_cp))

Đề 23: class số nguyên gồm giá trị của số nguyên và 3 phương thức kiểm tra số chẵn/ lẻ,
kiểm tra số chính phương, tìm số đảo.
- Nhập 1 list có 3 số nguyên (số nguyên là các object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện
GUI)

- Tạo dictionary có key là các số nguyên đã nhập, value là số đảo của nó

- Tính tổng các số đảo?

- Tìm số chính phương nhỏ nhất.'''

class SoNguyen:

def init (self,n):

self.n = n

def chan_le(self):

if self.n%2==0:

return True

else:

return False

def soChinhPhuong(self):
i=0

while (i*i<=self.n):

if i*i == self.n:

return True

i+=1

else:

return False

def so_dao(self):

soDaoNguoc = 0

while (self.n>0):

chuSoCuoi = self.n%10

soDaoNguoc = soDaoNguoc*10 + chuSoCuoi

self.n = self.n//10

return soDaoNguoc

list = []

for i in range(3):

n = int(input("Nhap n = "))

[Link](n)

list1 = [] # list so dao

for x in list:

a = SoNguyen(x)

[Link](a.so_dao())

dic = {}

for i in range(3):

dic[list[i]] = list1[i]

print(dic)

# tong so dao

tong = 0

for i in range(len(list1)):

tong += list1[i]

print("Tong cac so dao la: ", tong)

# so chinh phuong min

list2 = [] # list so chinh phuong

for x in list:
b = SoNguyen(x)

if [Link]() == True:

[Link](x)

if len(list2)!=0:

print("So chinh phuong min la:", min(list2))

else:

print("Ko co so chinh phuong")

Đề 24: class giai thừa gồm giá trị của 1 số nguyên và 2 phương thức tính giai thừa của
số nguyên, tính tổng các số từ 1 đến số nguyên đó.
- Nhập 1 list có 3 object giai thừa (là object tạo bởi class trong yêu cầu 1. Khuyến khích tạo giao diện GUI)

- Tạo 1 dictionary có key là số nguyên vừa nhập, value là giai thừa của số nguyên đó.

- In ra các tổng các số từ 1 đến số vừa nhập

- Tạo 1 tuple chứa giai thừa các số đã nhập.'''

class GiaiThua:

def init (self,n):

self.n = n

def tinh_giai_thua(self):

giaithua = 1

if n==0 or n==1:

return 1

for i in range(2,n+1):

giaithua *= i

return giaithua

def tinh_tong(self):

sum = 0

for i in range(n):

sum += i

return sum

list = [] # list cac so vua nhap

list1 = [] # list giai thua

list2 = [] # list tong

for i in range(3):

n = int(input("Nhap n = "))
[Link](n)

[Link](GiaiThua(n).tinh_giai_thua())

[Link](GiaiThua(n).tinh_tong())

dic = {}

for i in range(3):

dic[list[i]] = list1[i]

print(dic)

# cac tong

print("Ds cac tong cac so tu 1 den so vua nhap la: ",list2)

# tuple giai thua

tup = tuple(list1)

print("Tuple chua giai thua cua cac so vua nhap la:",tup)

Đề 25: class DienTro:

class DienTro:

def init (self,mau1,mau2,mau3):

self.mau1 = mau1

self.mau2 = mau2

self.mau3 = mau3

def vongmau(self,mau):

[Link] = mau

if 'mau'.upper() == 'den'.upper():

return 0

if 'mau'.upper() == 'nau'.upper():

return 1

if 'mau'.upper() == 'do'.upper():

return 2

if 'mau'.upper() == 'cam'.upper():

return 3

if 'mau'.upper() == 'vang'.upper():

return 4

if 'mau'.upper() == 'xanh luc'.upper():


return 5

if 'mau'.upper() == 'xanh lam'.upper():

return 6

if 'mau'.upper() == 'tim'.upper():

return 7

if 'mau'.upper() == 'xam'.upper():

return 8

if 'mau'.upper() == 'trang'.upper():

return 9

def giatri(self):

return mau1

Or

from tkinter import *

# tạo cửa sổ mới

cuaso = Tk()

[Link](' Bài học đầu tiên ')

[Link]('1500x1500')

[Link]('-topmost', True)

# tạo label

nhan1 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 1: ')

[Link](x=10, y=20)

nhan2 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 2: ')

[Link](x=10, y=50)

nhan2 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 3: ')

[Link](x=10, y=80)

# tạo entry

entry1 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=110, y=20)

entry2 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=110, y=50)

entry3 = Entry(cuaso, width=20, font=('Arial,Bold', 12))


[Link](x=110, y=80)

[Link]()

nhan11 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 1: ')

[Link](x=330, y=20)

nhan21 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 2: ')

[Link](x=330, y=50)

nhan21 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 3: ')

[Link](x=330, y=80)

# tạo entry

entry11 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=440, y=20)

entry21 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=440, y=50)

entry31 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=440, y=80)

nhan12 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 1: ')

[Link](x=630, y=20)

nhan22 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 2: ')

[Link](x=630, y=50)

nhan22 = Label(cuaso, font=('Arial,Bold', 12), text='Vong mau 3: ')

[Link](x=630, y=80)

# tạo entry

entry12 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=740, y=20)

entry22 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=740, y=50)

entry32 = Entry(cuaso, width=20, font=('Arial,Bold', 12))

[Link](x=740, y=80)

class DienTro():

def init (self, Vong_1=None, Vong_2=None, Vong_3=None):


self.Vong_1 =

Vong_1 self.Vong_2

= Vong_2

self.Vong_3 = Vong_3

def Doc_vach(self):

vach_mau = {

'den': 0,

'nau': 1,

'do': 2,

'cam': 3,

'vang': 4,

'xanhla': 5,

'xanhdatroi': 6,

'tim': 7,

'xam': 8,

'trang': 9

# dùng dict để tạo cặp Key-Value giúp truy xuất bảng cho nhanh

v1 = vach_mau.get(self.Vong_1)

v2 = vach_mau.get(self.Vong_2)

v3 = vach_mau.get(self.Vong_3)

gia_tri = (v1 * 10 + v2) * (10 ** v3)

return gia_tri

def XuLy_Input(string):

# trả về chuỗi toàn chữ thường

string = [Link]()

# xoá dấu cách

string = [Link](' ', '')

return string
def Thuchien():

list_DienTro =

[]

# for i in range(3):

# Vach_1 = input('Nhap vao Vach 1:

') # Vach_2 = input('Nhap vao Vach

2: ') # Vach_3 = input('Nhap vap

Vach 3: ') Vach_1 = [Link]()

Vach_2 = [Link]()

Vach_3 = [Link]()

Vach_1 = XuLy_Input(Vach_1)

Vach_2 = XuLy_Input(Vach_2)

Vach_3 = XuLy_Input(Vach_3)

DienTro_1 = DienTro(Vach_1, Vach_2,

Vach_3) list_DienTro.append(DienTro_1)

Vach_1 = [Link]()

Vach_2 = [Link]()

Vach_3 = [Link]()

Vach_1 = XuLy_Input(Vach_1)

Vach_2 = XuLy_Input(Vach_2)

Vach_3 = XuLy_Input(Vach_3)

DienTro_1 = DienTro(Vach_1, Vach_2,

Vach_3) list_DienTro.append(DienTro_1)

Vach_1 = [Link]()

Vach_2 = [Link]()

Vach_3 = [Link]()

Vach_1 = XuLy_Input(Vach_1)

Vach_2 = XuLy_Input(Vach_2)

Vach_3 = XuLy_Input(Vach_3)

DienTro_1 = DienTro(Vach_1, Vach_2, Vach_3)


list_DienTro.append(DienTro_1)

list_Gia_tri = []

for i in range(3):

Gia_tri_R = list_DienTro[i].Doc_vach()

# print(f'Gia Tri Dien Tro {i+1} la {list_DienTro[i].Doc_vach()}')

list_Gia_tri.append(Gia_tri_R)

nhan32 = Label(cuaso, font=('Arial,Bold', 12),

text='Gia Tri Dien Tro: ' + str(list_Gia_tri))

[Link](x=110, y=150)

tup_R = tuple(list_Gia_tri)

# print(tup_R)

nhan33 = Label(cuaso, font=('Arial,Bold', 12), text='Tuple cac gt R la:' + str(tup_R))

[Link](x=110, y=180)

# tim tro khang nho nhat

R_min = min(list_Gia_tri)

# print('Dien Tro Co TRo Khang Nho Nhat La: ',R_min)

nhan34 = Label(cuaso, font=('Arial,Bold', 12), text='Dien tro co tro khang nho nhat La::'

+ str(R_min))

[Link](x=110, y=210)

but = Button(cuaso, font=('Arial,Bold', 12), text='Ket qua', command=Thuchien)

[Link](x=250, y=600)

[Link]()

You might also like