1. Trang chủ
  2. » Tất cả

Bài Tập - Kỹ thuật lập trình với Python

69 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 4,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu 5: Trình bày các lo i ghi chú trong Python... def LuuFile path,data:... from XuLyFile import * arrSo=DocFile "csdl_so.txt" printarrSo def XuatSoAmTrenMoiDong arrSo:... from tkinte

Trang 1

Kh i: i H c

N m 2021

H ng d n:

• Bài t p th c hƠnh đ c chia làm nhi u Module

• M i Module đ c thi t k cho th i l ng là 3 ho c 6 ti t th c hành t i l p

v i s h ng d n c a Gi ng viên

• Tùy theo s ti t phân b , m i tu n h c có th th c hi n nhi u Module

• Sinh viên ph i làm t t c các bài t p trong các Module tu n t ng ng

Nh ng sinh viên ch a hòan t t ph n bài t p t i l p có trách nhi m t làm

Trang 2

M C L C

MODULE 1 3

GI I THI U V L P TRÌNH PYTHON VÀ CÁC CÔNG C L P TRÌNH 3

MODULE 2 15

CÁC KHÁI NI M C B N 15

MODULE 3 19

CÁC BI U TH C I U KI N VÀ VÒNG L P 19

MODULE 4 27

HÀM TRONG PYTHON 27

MODULE 5 35

X Lụ CHU I 35

MODULE 6 39

X Lụ DANH SÁCH 39

MODULE 7 45

X Lụ T P TIN 45

MODULE 8 56

THI T K GIAO DI N V I TKINTER 56

MODULE 9 67

TH VI N H TR X Lụ MACHINE LEARNING 67

Trang 3

MODULE 1

GI I THI U V L P TRÌNH PYTHON VÀ CÁC CÔNG C L P TRÌNH

Câu 1: T i, cƠi đ t và ki m tra phiên b n Python

t i Python ta vào: https://www.python.org/downloads

Ch n version mu n t i (ví d 3.9.1), b m vào Download:

Ch n n i l u tr , nh n Save đ t i

T i xong ta có kho ng 27MB cho phiên b n 3.9.1

Double click đ cƠi đ t, m c đ nh lƠ th m c bên d i, ta chuy n vào C

Trang 4

Ti p t c b m Next:

Tick h t r i b m Install:

Ch quá trình cƠi đ t hoàn t t:

Trang 5

ư cƠi đ t thành công:

N u có h i b gi i h n s ký t t i đa thì ta b m B gi i h n

ư cƠi đ t thành công:

CƠi đ t hoàn t t, ta b m close

M command line lên, gõ l nh python đ ki m tra k t qu , nh bên d i đơy lƠ đư thành công:

Trang 6

Câu 2: S d ng công c chính th ng IDLE đ l p trình Python

Khi cƠi đ t Python, ta có s n công c IDLE đ l p trình:

Vào Start Menu tìm IDLE, trên là phiên b n 3.9

Ta có th gõ l nh tr c ti p vào c a s Shell

NgoƠi ra ta c ng có th t o File đ so n th o b ng cách vào File/ ch n New File:

Trang 7

Sau khi nh n New, màn hình so n th o hi n ra nh d i đơy:

hình trên ta th y m c đ nh lƠ “Untitled”, ta th so n th o m t s l nh nh trong hình

r i l u l i v i test “first.py” py lƠ ph n m r ng c a Python:

Ta th y code đư đ c l u:

Trang 8

Hình trên các b n th y ch Untitled đ c đ i thành first.py cùng v i n i l u tr c a mã ngu n Python

Sau đó ta vƠo menu Run/ ch n Run Module (ho c nh n phím F5):

Ch ng trình cho ra k t qu :

T ng t đ ch y các file mã ngu n khác ta có th vƠo File/ Open đ ch n file mã ngu n

Trang 9

Câu 3: S d ng công c wingide

wingide c ng lƠ m t công c l p trình Python khá m nh m , các b n có th t i t i:

http://wingware.com/downloads/wingide-101

Câu 4: S d ng công c Pycharm

ơy lƠ công c r t n i ti ng, r t quen thu c đ c bi t v i nh ng ai đư l p trình Android Studio

Hi n hãng cho s d ng b n mi n phí PyCharm Community Edition:

https://www.jetbrains.com/pycharm (kéo xu ng g n d i cùng s có màn hình t i)

Trang 10

Ta th y có nhi u gi i h n trong b n mi n phí (Community) nh ng không có l p trình Web Còn b n Professional thì có đ y đ và cho s d ng th 30 ngày nhé các b n Ho c

b n có th vào link:

https://www.jetbrains.com/pycharm/download/#section=windows

Chúng ta ch n Download b n Community t i v máy r i ti n hƠnh cƠi đ t, vƠ nên đ a ra mƠn hình Desktop đ ta s d ng (vì đơy lƠ công c s s d ng cho toàn b các bài h c):

Trang 11

Ta kh i đ ng ph n m m PyCharm lên s có giao di n đ u tiên nh bên

Các b n th y tính t i th i đi m Tui gi ng bài này thì version m i nh t là 2020.2

Khi kh i đ ng PyCharm, ta s có giao di n nh bên d i, b m Create New Project đ t o

d án m i:

Ch nh c u hình t i Python 39 mƠ ta đư cƠi

Khi b m vƠo “…”

Trang 12

Ch n đúng phiên b n Python (python.exe) mà ta mong mu n c u hình r i nh n OK

Ch n đ c Python r i thì b m create

M c đ nh có file main.py, ta có th t o file khác đ coding

Trang 13

t o t p tin Python: Ta b m chu t ph i vào Project HelloWorld/ ch n New/ Python File:

Ta t o th t p tin SayHello:

T p tin Sayhello.py đ c hi n th ra nh d i đơy:

Trang 14

Vi t l nh xu t ra mƠn hình nh trên

ch y mã t p tin SayHello.py, các b n vào Run/ch n Run

Ho c b m chu t ph i vào SayHello.py

Ch n Run SayHello, K t qu :

Trang 15

MODULE 2 CÁC KHÁI NI M C B N

Trang 16

print(hour, ":" ,minute, ":" ,second)

Câu 3: Tính đi m trung bình

Yêu c u:

Vi t ch ng trình nh p vƠo đi m ba môn Toán, Lý, Hóa c a m t h c sinh In ra

đi m trung bình c a h c sinh đó v i hai s l th p phân

print( " i m toƠn=" ,toan)

print( " i m lý=" ,ly)

print( " i m hóa=" ,hoa)

dtb=(toan+ly+hoa)/3

print( " i m trung bình=" ,dtb)

Câu 4: Python h tr nh ng ki u d li u c b n nào?

Trang 17

Câu 5: Trình bày các lo i ghi chú trong Python

Câu 6: Trình bƠy ý ngh a toán t /, //, %, **, and, or, is

Trang 18

Câu 10: Hãy vi t ng n g n l i các l nh d i đơy

Trang 19

MODULE 3 CÁC BI U TH C I U KI N VÀ VÒNG L P

Câu 1: Ki m tra n m nhu n

Yêu c u:

Nh p vào m t n m b t k , ki m tra n m đó có ph i n m nhu n hay không Bi t

r ng: N m nhu n lƠ n m chia h t cho 4 nh ng không chia h t cho 100 ho c chia

print("N m ", year, " không nhu n")

Câu 2: m s ngày trong tháng

Yêu c u:

Nh p vào 1 tháng, xu t tháng đó có bao nhiêu ngƠy

1,3,5,7,8,10,12➔31 ngày

4,6,9,11➔có 30 ngày

N u là tháng 2 thì yêu c u nh p thêm n m N m nhu n thì tháng 2 có 29 ngày,

không nhu n có 28 ngày

H ng d n:

Trang 20

print( "Ch ng trình đ m s ngơy trong thƠng" )

Trang 22

Cho i, j, k là các con s và l nh d i đơy:

Hãy cho bi t k t qu xu t ra màn hình n u tu n t 3 bi n trên có các giá tr sau:

Trang 23

Vi t ch ng trình nh p vào m t s , ki m tra xem s này có ph i là s nguyên t

hay không H i ng i dùng có ti p t c s d ng hay thoát ph n m m

Trang 24

print(n, "Lơ s nguyên t " )

Trang 25

Câu 14: Cho bi t bao nhiêu d u * đ c in ra trên màn hình

Trang 26

Câu 17: Vi t l i coding d i đơy b ng cách dùng t khóa break thay th cho bi n done

Trang 27

MODULE 4 HÀM TRONG PYTHON

Câu 1: Vi t hƠm đ Tính di n tích tam giác

Yêu c u:

Nh p vào 3 c nh c a tam giác, ki m tra tính h p l c a tam giác, Sau đó tính di n tích theo công th c Herong:

H ng d n:

from math import sqrt

if (a<=0 or b <=0 or c <=0) or (a+b)<=c or (a+c)<=b or b+c<=a:

Máy ra 1 s trong đo n [1 100]

Ng i ch i đoán s , ch đ c phép đoán sai 7 l n M i l n đoán s thông báo s

ng i ch i đoán nh h n hay l n h n s c a mày và hi n th s l n đoán

Game k t thúc khi: oán sai quá 7 l n ho c đoán trúng tr c 7 l n

Sau khi game k t thúc h i ng i ch i có ti p t c hay không?

Trang 28

songuoi=int(input("MƠy đoƠn [1 100], m i b n đoƠn:"))

Trang 29

print( "BMI c a b n=" ,bmi)

Câu 4: Vi t Hàm tính ROI

Yêu c u:

Trang 30

− ROI (Return On Investment), m t thu t ng quan tr ng trong marketing, mƠ đ c

bi t là SEO, t m d ch là t l l i nhu n thu đ c so v i chi phí b n đ u t Có th

hi u ROI m t cách đ n gi n chính là ch s đo l ng t l nh ng gì b n thu v so

v i nh ng gì b n ph i b ra

− Hi u đúng b n ch t c a ROI, b n s đo l ng đ c hi u qu đ ng v n đ u t c a mình cho các chi phí nh qu ng cáo, ch y Adwords, hay chi phí marketing online khác

− Vì ROI d a vào các ch s c th , nên nó c ng lƠ m t th c đo r t c th :

− ROI = (Doanh thu ậ Chi phí)/Chi phí

− Vi t ch ng trình cho phép ng i dùng nh p vào Doanh thu và Chi phí và xu t ra

t l ROI cho ng i dùng, đ ng th i hãy cho bi t nên hay không nên đ u t d án khi bi t ROI (gi s m c t i thi u ROI =0.75 thì m i đ u t )

Trang 34

Câu 13: Hàm ki m tra s hoàn thi n, s th nh v ng

Yêu c u:

Vi t hàm tính t ng c s đ áp d ng chung cho 2 bài d i đơy:

a) Ki m tra s nguyên d ng n có ph i là s hoàn thi n (Pefect number) hay không? (S hoàn thi n là s có t ng các c s c a nó (không k nó) thì b ng chính nó Vd: 6 có các c s là 1,2,3 và 6=1+2+3 ➔6 là s hoàn thi n)

b) Ki m tra s nguyên d ng n có ph i là s th nh v ng (Abundant number)hay không? (S thnh v ng là s có t ng các c s c a nó (không k nó) thì l n h n

nó Vd:12 có các c s là 1,2,3,4,6 và 12<1+2+3+4+6 ➔12 là s th nh v ng)

Trang 36

M t Chu i đ c g i là t i u khi: Không ch a các kho ng tr ng d th a, các t cách nhau b i m t kho ng tr ng

- Xu t có bao nhiêu s âm

- Xu t có bao nhiêu ch s nguyên t

Trang 37

print( "S Ưm =" ,soam)

print( "S Nguyên t =" ,sont)

Câu 4: Các hàm quan tr ng trong x lý chu i c a Python

Yêu c u:

Trình bày m t s hàm quan tr ng trong x lý Chu i c a Python

Câu 5: X lý chu i v i các hƠm c b n

Yêu c u:

Vi t ch ng trình cho phép nh p vào 1 chu i Yêu c u xu t ra:

- Bao nhiêu ch IN HOA

- Bao nhiêu ch in th ng

- Bao nhiêu ch là ch s

- Bao nhiêu ch là ký t đ c bi t

- Bao nhiêu ch là kho ng tr ng

- Bao nhiêu ch là Nguyên Âm

- Bao nhiêu ch là Ph âm

Câu 6: Trích l c s âm trong chu i

Yêu c u:

Trang 38

Vi t m t hƠm đ t tên là NegativeNumberInStrings(str) HƠm nƠy có đ i s truy n vào

là m t chu i b t k , Hãy vi t l nh đ xu t ra các s nguyên âm trong chu i

Ví d : N u nh p vào chu i “abc -5 xyz -12 k9l p” thì hƠm ph i xu t ra đ c 2 s nguyên

Input “ TR n duY thAnH ”

Output “Tr n Duy Thanh”

Câu 8: Tách l y tên bài hát

Trang 39

- Thêm ph n t vào list

- Nh p k, ki m tra k xu t hi n bao nhiêu l n trong list

- Tính t ng các s nguyên t trong list

Trang 40

- Vi t l nh kh i t o ng u nhiên n ph n t cho list

- G i k là m t s nh p t bàn phím, hãy xóa t t c các ph n t có giá tr k t n t i trong list

- Ki m tra list có đ i x ng hay không

Trang 41

x=int(input( "M i b n chèn thêm s m i" ))

print( "List khô ng đ i x ng" )

Câu 3: X lý List a chi u

Trang 43

Câu 4: Xác đ nh k t qu khi th c thi list

Trang 44

Câu 6: Nh p vào 1 list có N s ng u nhiên KHÔNG TRÙNG NHAU

Câu 7: Vi t ch ng trình nh p vào m t dãy các s theo th t t ng, n u nh p sai quy cách thì yêu c u nh p l i In dãy s sau khi đư nh p xong

Câu 8: Vi t ch ng trình nh p vào m t dãy n s th c M[0], M[1], , M[n-1], s p x p dãy s theo th t gi m d n Xu t ra dãy s sau khi s p x p

Trang 45

def LuuFile (path,data):

Trang 46

for line in file:

line=masp+ ";" +tensp+ ";" +str(dongia)

LuuFile( "database.txt" ,line)

Trang 47

5,6,8,9,-5 -9,5,4,7,8 6,7,8,3,6,46,7,2,-6,-7 a) Vi t hƠm đ c file, m i dòng kh i t o thành 1 list và xu t ra màn hình

b) Xu t các s âm trên m i dòng ra màn hình

H ng d n:

B c 1: T o d li u m u l u vƠo csdl_so.txt (nh p tùy ý nh ng đúng format)

Ph n m m c ng h tr t t o ra file này luôn:

B c 2: T o file XuLyFile.py

def LuuFile (path,data):

Trang 48

from XuLyFile import *

arrSo=DocFile( "csdl_so.txt" )

print(arrSo)

def XuatSoAmTrenMoiDong (arrSo):

Trang 49

Cho string Json có c u trúc sau:

'{ "ma":"nv1", "age":50, "ten":"Tr n Duy Thanh"}'

Hãy vi t mã l nh chuy n đ i qua Python Object

print ("Tu i=",dataObject["ten"])

Câu 5: X lý JSON File, Chuy n đ i Python Object qua String Json

Trang 50

Hãy vi t mã l nh chuy n đ i qua String json

with open ('datacsv.csv', newline='') as f:

reader = csv.reader(f, delimiter=';', quoting=csv.QUOTE_NONE)

for row in reader:

print (row[0],"\t",row[1])

Trang 51

Câu 7: X lý l u Excel File

Trang 52

for row in ws.values:

for value in row:

print (value,"\t",end='')

print ("")

Trang 53

Câu 9: X lý Text File - Vi t ph n m m Qu n Lý s n ph m

Yêu c u:

Vi t ph n m m Qu n Lý s n ph m

M i danh m c có: Mã , tên; M t danh m c có nhi u s n ph m

M i s n ph m có: Mư, tên, đ n giá; M i m t s n ph m thu c v m t danh m c

Cho phép: l u m i, s a, xóa, tìm ki m, s p x p, l u vƠ đ c Text File

Câu 10: X lý JSON File - Vi t ph n m m Qu n Lý Sinh Viên

Yêu c u:

Vi t ph n m m qu n lý Sinh Viên

M i m t l p có: Mã l p, tên; m t l p có nhi u Sinh viên

M i sinh viên có: mư, tên, n m sinh; M i m t sinh viên thu c v m t l p

Cho phép: l u m i, s a, xóa, tìm ki m, s p x p, l u vƠ đ c JSon File

Câu 11: X lý Excel File - Vi t ph n m m Qu n Lý Nhân Viên

Yêu c u:

Vi t ph n m m qu n lý Nhân viên l u b ng Excel M i nhân viên có Mã, Tên, Tu i

− Ph n m m cho phép l u Nhơn viên vƠo File Excel

− Ph n m m cho phép đ c danh sách Nhân viên trong File Excel

− Ph n m m cho phép s p x p Nhân viên theo Tu i t ng d n

C u trúc c a File Excel nh sau:

Trang 54

Câu 12: X lý CSV File - Vi t ph n m m Qu n Lý Nhân Viên

Trang 55

Theo c u trúc trên thì m i Nhóm s có: Mã nhóm, tên nhóm

- L c Danh sách Thi t b theo Nhóm thi t b

- Xu t Nhóm thi t b có s l ng thi t b nhi u nh t

Trang 56

MODULE 8 THI T K GIAO DI N V I TKINTER

Trang 58

H ng d n:

from tkinter import *

from math import sqrt

Trang 60

from tkinter import *

root.minsize(height=150,width=200)

Label(root,text="C ng Tr Nhân

Chia",fg="blue",font=("tahoma",16)).grid(row=0,columnspan=3)

Label(root,text="s a:").grid(row=1,column=1)

Entry(root,width=15,textvariable=stringA).grid(row=1,column=2)

Label(root,text="s b:").grid(row=2,column=1)

Entry(root,width=15,textvariable=stringB).grid(row=2,column=2)

Label(root,text="K t qu :").grid(row=3,column=1)

Entry(root,width=15,textvariable=stringKQ).grid(row=3,column=2)

Button(root,text="Thoát",command=root.quit).grid(row=4,column=2)

root.mainloop()

Trang 62

T o SachUI.py đ thi t k giao di n và x lý s ki n:

from tkinter import *

from XuLyFile import *

Trang 63

Button(frameButton,text="S p

x p",command=sapXepAction).pack(side=LEFT)

Button(frameButton,text="Thoát",command=root.quit).pack(side=LEFT) frameButton.grid(row=5,column=1)

root.mainloop()

Ch y ph n m m lên, ta có giao di n và thao tác x lý nh mong mu n

Trang 64

Câu 5: Ph n m m máy tính b túi

Trang 65

Câu 8: Thi t k màn hình chuy n n m D ng L ch thành Âm L ch

Yêu c u:

Vi t ph n m m đ chuy n m t n m D ng l ch qua Âm l ch

Câu 9: Thi t k màn hình chuy n đ F thƠnh đ C

Trang 66

Vi t ch ng trình tính ch s BMI c a m t ng i khi bi t chi u cao vƠ cơn n ng Bi t r ng:

BMI = Weight / (Height*Height) Cho bi t tình tr ng cơn n ng c a ng i nƠy d a trên tiêu chu n qu c t nh sau:

Trang 67

MODULE 9

TH VI N H TR X LÝ MACHINE LEARNING

Python là m t trong nh ng ngôn ng m nh m , h tr các h th ng Machine Learning

Có nhi u th vi n mà Python có th s d ng Ch ng h n nh numpy là m t th vi n ph

bi n giúp x lý các phép toán liên quan đ n các m ng nhi u chi u, h tr các hàm liên quan t i đ i s tuy n tính…, Scikit-learn là m t th vi n ch a đ y đ các thu t toán Machine Learning Tài li u này ch li t kê ra, không ph i tài li u h ng d n chi ti t

Th vi n numpy có th l y đơy: https://numpy.org/

Th vi n Scikit-learn có th l y đơy: https://scikit-learn.org/ (h th ng nƠy có đ y đ

D li u m u, coding m u, đ c bi t tài li u r t chi ti t), là m t th vi n mƠ ng i nghiên

c u Machine Learning nên bi t

Machine Learning th ng gi i quy t các bài toán sau:

Máy d ch (còn g i là Machine Translation), ch ng trình máy d ch s đ c yêu c u

d ch m t đo n v n trong m t ngôn ng này sang m t ngôn ng khác

Trang 68

Hoàn thi n d li u (còn g i là Data Completion), th ng m t b d li u có th có nhi u

đ c tr ng nh ng vi c thu th p đ c trung cho t ng đi m d li u đôi lúc không kh thi vì lý

do nƠo đó Ví d nh m t đo n v n b n b thi u, m t b c nh b tr y x c Hoàn thi n d

li u là gi i thu t s d đoán các vùng d li u thi u đó

Anh V H u Ti p biên so n cu n Machine Learning C b n khá hay Các b n có th tham th o tài li u và mã ngu n t i đơy: https://github.com/tiepvupsu/ebookMLCB

D i đơy lƠ m t ví d s d ng Gi i thu t H i Quy Tuy n Tính c a th vi n Scikit-learn

đ d báo cân n ng d a vào chi u cao

Chi u cao (CM) Cân n ng (KG)

Ngày đăng: 15/04/2021, 14:18

w