Sử dụng dict=i**2
print (d)
# Bài tập Python 33, Code by chúng tôi printDict()
Kết quả khi chạy code trên là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361, 20: 400}
Bài 34:
Bài 35:
Định nghĩa một hàm có thể tạo dictionary, chứa các key là số từ 1 đến 20 (bao gồm cả 1 và 20) và các giá trị bình phương của chúng. Hàm chỉ in các giá trị mà thôi.
- Sử dụng dict=i**2
for (k,v) in d.items():
print (v)
# Bài tập Python 34, Code by chúng tôi printDict()
Kết quả bạn nhận được khi chạy code trên là các giá trị bình phương của số từ 1 đến 20.
Bài 36:
Định nghĩa một hàm có thể tạo ra một dictionary chứa key là những số từ 1 đến 20 (bao gồm cả 1 và 20) và các giá trị bình phương của key. Hàm chỉ cần in các key.
Tương tự như bài 34.
def printDict():
d=dict()
for i in range(1,21):
d để cắt list
def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print (li)
# Bài Python 38, Code by chúng tôi printList()
Khi chạy code trên bạn sẽ nhận được list chứa giá trị bình phương của 16, 17, 18, 19, 20.
Định nghĩa một hàm có thể tạo list chứa giá trị bình phương của các số từ 1 đến 20 (bao gồm cả 1 và 20). Sau đó in tất cả các giá trị của list, trừ 5 mục đầu tiên.
Bài 40:
Tương tư bài 37, 38.
def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print (li
Định nghĩa 1 hàm có thể tạo và in một tuple chứa các giá trị bình phương của các số từ 1 đến 20 (tính cả 1 và 20).
Bài 41:
- Sử dụng toán tử ** để lấy giá trị bình phương.
- Sử dụng range() cho vòng lặp.
- Sử dụng list.append() để thêm giá trị vào list.
- Sử dụng tuple() để lấy giá tuple từ list.
def printTuple():
li=list()
for i in range(1,21):
li.append(i**2)
print (tuple(li))
printTuple()
Kết quả:
(1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400)
Với tuple (1,2,3,4,5,6,7,8,9,10) cho trước, viết một chương trình in một nửa số giá trị đầu tiên trong 1 dòng và 1 nửa số giá trị cuối trong 1 dòng.
Bài 42:
Sử dụng
tp2=tp%2==0:
li.append(tp%2==0:
li.append(tp.
Bài 46:
- Sử dụng filter() để lọc các yếu tố trong một list.
- Sử dụng lambda để định nghĩa hàm chưa biết.
li =
Lưu ý: Trong các phiên bản Python trước, bạn chỉ cần dùng hàm filter sẽ được trả kết quả đầu ra là một danh sách. Nhưng từ Python 3, phải dùng list(filter()) thì kết quả trả về mới là list. Điều này cũng áp dụng với map().
Bài 47:
Viết chương trình Python dùng map() để tạo list chứa các giá trị bình phương của các số trong
squaredNumbers = list(map (lambda x: x ** 2, li))
print (squaredNumbers)
.
- Dùng map() để tạo list.
- Dùng filter() để lọc thành phần trong list.
- Dùng lambda để định nghĩa hàm chưa biết.
li =
Viết chương trình Python dùng filter() để tạo danh sách chứa các số chẵn trong đoạn
Viết chương trình Python sử dụng map() để tạo list chứa giá trị bình phương của các số trong đoạn
Định nghĩa một class có tên là Vietnam, với static method là printNationality.
Sử dụng @staticmethod để định nghĩa class với static method.
Bài 52:
class Vietnam (object):
@staticmethod
def printNationality ():
print ("Vietnam")
# Bài Python 50, Code by chúng tôi VietnamVodich = Vietnam ()
VietnamVodich.printNationality ()
Vietnam.printNationality ()
Định nghĩa một class tên Vietnam và class con của nó là Hanoi.
Sử dụng Subclass(ParentClass)
để định nghĩa một class con.
class Vietnam(object):
pass
class Hanoi(Vietnam):
pass
# Bài Python 51, Code by chúng tôi VietnamVodich = Vietnam()
NguoiHanoi = Hanoi()
print (VietnamVodich)
print (NguoiHanoi)
Bài 53:
Định nghĩa một class có tên là Circle có thể được xây dựng từ bán kính. Circle có một method có thể tính diện tích.
Sử dụng def methodName(self)
để định nghĩa method.
class Circle(object):
def __init__(self, r):
self.radius = r
# Bài Python 52, Code by chúng tôi def area(self):
return self.radius**2*3.14
aCircle = Circle(2)
print (aCircle.area())
Bài 54:
Trong code trên, ta thực hiện khai báo lớp Circle, và method tính diện tích cho hình tròn, với bán kính r=2, kết quả khi chạy code sẽ được là: 12.56.
Định nghĩa class có tên là Hinhchunhat được xây dựng bằng chiều dài và chiều rộng. Class Hinhchunhat có method để tính diện tích.
class Hinhchunhat(object):
def __init__(self, l, w):
chúng tôi = l
chúng tôi = w
# Bài Python 53, Code by chúng tôi def area(self):
return self.dai*self.rong
aHinhchunhat = Hinhchunhat(10,2)
print (aHinhchunhat.area())
Trong code trên chiều dài hình nhữ nhật là 10, chiều rộng là 2. Chạy code ta được kết quả là 20.
Bài 55:
Định nghĩa một class có tên là Shape và class con là Square. Square có hàm init để lấy đối số là chiều dài. Cả 2 class đều có hàm area để in diện tích của hình, diện tích mặc định của Shape là 0.
Để ghi đè một method trong super class, chúng ta có thể định nghĩa một method có cùng tên trong super class.
Code đơn giản:
class Shape(object):
def __init__(self):
pass
def area(self):
return 0
# Bài Python 54, Code by chúng tôi class Square(Shape):
def __init__(self, l):
Shape.__init__(self)
self.length = l
def area(self):
return self.length*self.length
aSquare= Square(3)
print (aSquare.area())
Code phức tạp:
Với chiều dài là 3, khi chạy code trên ta được kết quả là 9.
Bài 56:
Đưa ra một RuntimeError exception.
Sử dụng raise() để đưa ra exception.
raise RuntimeError('something wrong')
# Bài Python 55, Code by chúng tôi class RuntimeError(Exception):
def __init__(self, mismatch):
Exception.__init__(self, mismatch)
try:
print ("And now, the Vocational Guidance Counsellor Sketch.")
raise RuntimeError("Does not have proper hat")
print ("This print statement will not be reached.")
except RuntimeError as problem:
print ("Vocation problem: {0}".format(problem))
Bài 57:
Viết hàm để tính 5/0 và sử dụng try/exception để bắt lỗi.
Sử dụng try/exception để bắt lỗi.
def throws():
return 5/0
# Bài Python 56, Code by chúng tôi try:
throws()
except ZeroDivisionError:
print ("Chia một số cho 0!")
except Exception as problem:
print ('Bắt được một exception')
finally:
print ('Phép tính bị hủy')
Kết quả khi chạy code trên ta nhận được như sau:
Bài 58:
Định nghĩa một class exception tùy chỉnh, nhận một thông báo là thuộc tính.
Để định nghĩa một class exception tùy chỉnh, chúng ta phải định nghĩa một class kế thừa từ Exception.
class MyError(Exception):
"""My own exception class
# Bài Python 57, Code by chúng tôi Attributes:
msg -- explanation of the error
"""
def __init__(self, msg):
chúng tôi = msg
error = MyError("Có gì đó sai sai!")
print (error)
Khi chạy code trên, thông báo “Có gì đó sai sai!” sẽ được in ra màn hình.
Giả sử rằng chúng ta có vài địa chỉ email dạng [email protected], hãy viết một chương trình để in username của địa chỉ email cụ thể. Cả username và companyname chỉ bao gồm chữ cái.
Ví dụ: Nếu cung cấp địa chỉ email [email protected] thì đầu ra sẽ là: QTM.
Bài 59:
Trong trường hợp dữ liệu đầu vào không có sẵn, ta giả định nó được người dùng nhập vào từ giao diện điều khiển.
Sử dụng w để kiểm tra chữ cái.
# Bài Python 58, Code by chúng tôi import re
emailAddress = input()
pat2 = "(w+)@((w+.)+(com))"
re2 = re.match(pat2,emailAddress)
print (re2.group(1))
Bài 60:
Khi chạy code trên, nó sẽ nhận email được nhập vào bởi người dùng và trả về username của email, nếu nhập vào [email protected] bạn sẽ nhận được kết quả là qtm.
Tương tự như bài 58, nhưng lần này ta sẽ viết hàm để lấy companyname.
# Bài Python 59, Code by chúng tôi import re
emailAddress = input()
pat2 = "(w+)@(w+).(com)"
r2 = re.match(pat2,emailAddress)
print (r2.group(2))
Đây là kết quả khi chạy code bài 58 và 59:
Viết một chương trình chấp nhận chuỗi từ được phân tách bằng khoảng trống và in các từ chỉ gồm chữ số.
Bài 61:
Ví du: Nếu những từ sau đây là đầu vào của chương trình: 3 chúng tôi và 2 python. Đầu ra sẽ là
print (",".join(values))
Bài 69:
Viết chương trình sử dụng generator để in số chẵn trong khoảng từ 0 đến n, cách nhau bởi dấu phẩy, n là số được nhập vào.
Ví dụ nếu n=10 được nhập vào thì đầu ra của chương trình là: 0,2,4,6,8,10
Sử dụng yield để tạo ra giá trị kết tiếp trong generator.
def EvenGenerator(n):
i=0
while i<=n:
if i%2==0:
yield i
i+=1
# Bài tập Python 68, Code by chúng tôi n=int(input("Nhập n: "))
values =
for i in NumGenerator(n):
values.append(str(i))
print ("Các số chia hết cho 5 và 7 trong khoảng 0 và n là: ",",".join(values))
Viết các lệnh assert để xác minh rằng tất cả các số trong list
for i in li:
assert i%2==0
# Code by Quantrimang.com
Viết chương trình chấp nhận biểu thức toán học cơ bản do người dùng nhập vào từ bảng điều khiển và in kết quả ước lượng ra ngoài màn hình.
Ví dụ: Nếu chuỗi sau là đầu vào của chương trình:
35 + 3
thì đầu ra sẽ lả:
Bài 72:
38
Sử dụng eval() để ước lượng biểu thức
expssion = input("Nhập biểu thức cần tính: ")
# Code by chúng tôi print (eval(expssion))
Bài 73:
Viết hàm tìm kiếm nhị phân để tìm các item trong một list đã được sắp xếp. Hàm sẽ trả lại chỉ số của phần tử được tìm thấy trong list.
Sử dụng if/elif để giải quyết các điều kiện.
Khi chạy code trên ta sẽ có kết quả đầu ra là 4 và -1, 4 là vị trí của 11 trong list li, và -1 nói lên rằng không có số 12 trong list li.
Bài 74:
Tạo một số thập phân ngẫu nhiên, có giá trị nằm trong khoảng từ 10 đến 100 bằng cách sử dụng module math của Python.
Sử dụng random.random() để tạo float ngẫu nhiên trong ))
# Code by Quantrimang.com
Vui lòng viết chương trình để xuất một số ngẫu nhiên, chia hết cho 5 và 7, từ 0 đến 200 (gồm cả 0 và 200), sử dụng module random và list comphension.
import random
print (random.choice( chia hết cho cả 5 và 7.
Bài 78:
Vui lòng viết chương trình để tạo một list với 5 số ngẫu nhiên từ 100 đến 200.
Sử dụng random.sample() để tạo list chứa các giá trị ngẫu nhiên.
Bài 79:
import random
print (random.sample(range(100,201), 5))
#Code by Quantrimang.com
Khi chạy code trên bạn sẽ nhận được 1 list, có 5 giá trị ngẫu nhiên, nằm trong đoạn thì range() trong đoạn trên bạn chỉ cần viết là range(100).
Bài 80:
Viết chương trình tạo ngẫu nhiên list gồm 5 số chẵn nằm trong đoạn , 5))
#Code by Quantrimang.com
Viết chương trình để tạo ngẫu nhiên một list gồm 5 số, chia hết cho 5 và 7, nằm trong đoạn , 5))
#Code by Quantrimang.com
Viết chương trình để in một số nguyên ngẫu nhiên từ 7 đến 15.
Sử dụng random.randrange() để lấy số nguyên ngẫu nhiên trong một phạm vi nhất định.
import random
print (random.randrange(7,16))
#Code by Quantrimang.com
Viết chương trình để nén và giải nén string “”hello world!hello world!hello world!hello world!”.
Sử dụng zlib.compss() và zlib.decompss() để nén và giải nén string.
Bài 82:
Với Python 2, code mẫu sẽ như sau:
import zlib
s = "hello world!hello world!hello world!hello world!"
t = zlib.compss(s)
print t
print zlib.decompss(t)
Tuy nhiên, trong Python 3, bạn phải gọi encode() và chỉ định kiểu mã hóa, giả sử là utf-8 thì yêu cầu trên sẽ được code như sau:
import zlib
s = "hello world!hello world!hello world!hello world!"
t = zlib.compss(s.encode("utf-8"))
print (t)
print (zlib.decompss(t))
#Code by Quantrimang.com
Bài 83:
Bạn hãy viết một chương trình để in thời gian thực thi (running time of execution) phép tính “1+1” 100 lần.
Sử dụng timeit() để đo thời gian chạy
from timeit import Timer
t = Timer("for i in range(100):1+1")
print (t.timeit())
Khi chạy code trên, bạn cần phải đợi để phép tính trên được thực hiện xong rồi chương trình mới in ra thời gian thực thi. Ban đầu khi mới chạy code, cảm giác như không có gì đang được thực thi.
Bài 84:
Viết chương trình để trộn và in list
#Code by chúng tôi shuffle(li)
print (li)
Khi code được thực thi, mỗi lần chạy sẽ cho ra một list với thứ tự các số được trộn ngẫu nhiên.
Viết một chương trình để tạo tất cả các câu có chủ ngữ nằm trong và tân ngữ là để lấy phần tử từ list.
chu_ngu=
tan_ngu=, dong_tu)
print (cau)
Khi chạy code trên ta sẽ có kết quả như sau:
Bài 86:
Anh Chơi Bóng đá.
Anh Chơi Xếp hình.
Anh Yêu Bóng đá.
Anh Yêu Xếp hình.
Em Chơi Bóng đá.
Em Chơi Xếp hình.
Em Yêu Bóng đá.
Em Yêu Xếp hình.
Viết chương trình in list sau khi xóa các số chẵn trong
# Code by chúng tôi li = .
li =
print (li)
Ta sẽ có kết quả như sau:
Bài 88:
Viết chương trình in list sau khi đã xóa số thứ 0, thứ 2, thứ 4, thứ 6 trong
# Code by chúng tôi a= for col in range(5)] for row in range(3)]
print (array)
, , ,
, ], ,
, .
li =
print (li)
Bài 91:
Viết chương trình in list sau khi đã xóa giá trị 24 trong
#Code by chúng tôi li =
Với 2 list cho trước: , viết chương trình để tạo list có phần tử là giao của 2 list đã cho.
Sử dụng set() và “&=” để thiết lập điểm giao.
list1=set()
# Code by chúng tôi list1 &= list2
li=list(list1)
print (li)
Bài 93:
Viết chương trình in list từ list
xem = set()
for i in li:
if i not in xem:
chúng tôi i )
list_moi.append(i)
# Code by chúng tôi return list_moi
li=
Định nghĩa class Nguoi và 2 class con của nó: Nam, Nu. Tất cả các class có method “getGender” có thể in “Nam” cho class Nam và “Nữ” cho class Nu.
Sử dụng Subclass(Parentclass) để định nghĩa 1 class con.
class Nguoi(object):
def getGender(self):
return "Unknown"
class Nam(Nguoi):
def getGender(self):
return "Nam"
# Code by chúng tôi class Nu(Nguoi):
def getGender(self):
return "Nữ"
aNam = Nam()
aNu= Nu()
print (aNam.getGender())
print (aNu.getGender())
Viết chương trình đếm và in số ký tự của chuỗi do người dùng nhập vào.
Ví dụ:
Bài 95:
Nếu chuỗi nhập vào là chúng tôi thì đầu ra sẽ là:
- Sử dụng dict để lưu trữ các cặp key/value.
- Sử dụng dict.get() để tra cứu key với giá trị mặc định.
dic = {}
chuoi=input("Nhập chuỗi cần đếm ký tự: ")
# Code by chúng tôi for c in chuoi:
dic))
Nhập chuỗi cần đếm ký tự: chúng tôi q,1
u,1
a,2
n,2
t,1
r,1
i,1
m,2
g,1
.,1
c,1
o,1
Viết chương trình nhận chuỗi đầu vào từ giao diện điều khiển và in nó theo thứ tự ngược lại.
Bài 96:
Ví dụ nếu chuỗi nhập vào là:
Thì kết quả đầu ra là:
Sử dụng list
print (chuoi)
Viết chương trình nhận chuỗi do người dùng nhập vào và in các ký tự có chỉ số chẵn.
Bài 97:
Ví dụ: Nếu chuỗi sau được nhập vào: q1u2a3n4t5r6i7m8a9n4g5.6c7o8m, thì đầu ra sẽ là: quantrimang.com.
Sử dụng list
print (chuoi)
Nhập chuỗi vào đây: q1u2a3n4t5r6i7m8a9n4g5.6c7o8m
quantrimang.com
Bài 98:
Viết chương trình in tất cả các hoán vị của )))
# Code by Quantrimang.com
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
Viết chương trình để giải 1 câu đố cổ của Trung Quốc: Một trang trại thỏ và gà có 35 đầu, 94 chân, hỏi số thỏ và gà là bao nhiêu?
Sử dụng vòng lặp for để lặp qua tất cả các giả thuyết có thể.
def giai(dau,chan):
klg='Không có dáp án phù hợp!'
for i in range(dau+1):
j=dau-i
if 2*i+4*j==chan:
return i,j
return klg,klg
# Code by chúng tôi dau=35
chan=94
dap_an=giai(dau,chan)
print (dap_an)
--- Bài cũ hơn ---
- Giải Thuật Và Lập Trình: §6. Cây (Tree)
- Bài Tập Diode Có Lời Giải Bai Tap Diode 2 Doc
- Bài Tập Diode Có Lời Giải
- Bài Tập Hạch Toán Tiền Lương Có Lời Giải
- Download Bai Tap Co Loi Giai Mon Ky Thuat So