NPTEL Lập trình cấu trúc dữ liệu và thuật toán bằng Python Khóa học này giới thiệu về lập trình và giải quyết vấn đề bằng Python. Khóa học này giúp sinh viên hiểu các khái niệm về cấu trúc dữ liệu và thuật toán bằng python mà không cần có kiến thức trước về các khái niệm lập trình
Lập trình cấu trúc dữ liệu và thuật toán bằng Python là khóa học MOOC do IIT Kharagpur cung cấp trên nền tảng NPTEL. Khóa học này giúp sinh viên đạt được các phương pháp giải quyết vấn đề thông qua một ngôn ngữ lập trình. Khóa học được phát triển bởi Prof. Madhavan Mukund đã học tại IIT Bombay [BTech] và Đại học Aarhus [Tiến sĩ]
- Ai có thể tham gia. Tất cả sinh viên UG/PG
- Yêu cầu/Điều kiện tiên quyết. Không
- CÔNG NGHIỆP HỖ TRỢ. Tất cả các ngành CNTT
TIÊU CHUẨN ĐỂ NHẬN GIẤY CHỨNG NHẬN
Điểm bài tập trung bình = 25% điểm trung bình của 6 bài tập tốt nhất trong tổng số 8 bài tập được giao trong khóa học
Điểm bài thi = 75% điểm bài thi chứng chỉ được giám sát trên 100 Điểm tổng kết = Điểm bài tập trung bình + Điểm bài thi
Học sinh sẽ đủ điều kiện nhận CHỨNG CHỈ NẾU ĐIỂM BÀI TẬP TRUNG BÌNH >=10/25 VÀ ĐIỂM THI >= 30/75. Nếu không đạt 1 trong 2 tiêu chí, học viên sẽ không được cấp chứng chỉ dù Điểm tổng kết >= 40/100
Lập Trình Cấu Trúc Dữ Liệu Và Thuật Toán Bằng Python Trắc nghiệm lập trình trực tuyến Buổi tối. -
nội dung
Q1. Đây là một hàm trả về giá trị lớn nhất trong danh sách các số nguyên. Có một lỗi trong chức năng này. Cung cấp danh sách đầu vào mà maxbad tạo ra đầu ra không chính xác
Mã số. -
[-1,-9,-6,-6]
quý 2. Đây là một hàm để kiểm tra xem có bất kỳ giá trị lặp lại nào trong số bốn số nguyên đầu vào không. Bạn phải điền vào các dòng còn thiếu
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
Q3. Một danh sách đang tăng lên nếu mỗi phần tử lớn hơn phần tử trước. Ví dụ: [], [7], [8,11] và [3,19,44,63,89] đang tăng, trong khi [4,18,3] và [3,14,14,23] thì không. Đây là một hàm đệ quy để kiểm tra xem danh sách có tăng không. Bạn phải điền vào đối số còn thiếu cho lệnh gọi đệ quy
Mã số. -
l[0] 1:
tup.append[key]
return tup
Q7. Viết chương trình Python đọc đầu vào từ bàn phím [đầu vào tiêu chuẩn]. Đầu vào sẽ bao gồm một số dòng văn bản. Đầu vào sẽ được kết thúc bởi một dòng trống. Dòng đầu tiên sẽ bao gồm một từ duy nhất. Chương trình của bạn sẽ đếm số lần các chữ cái trong từ này xuất hiện trong văn bản còn lại, từ dòng thứ hai trở đi. Chẳng hạn, nếu dòng đầu tiên chứa từ chuối, bạn nên đếm số lần xuất hiện của các chữ cái từ bộ {'b','a','n'}. Số lượng này là tích lũy, vì vậy bạn nên cộng số lần 'b', 'a' và 'n' xảy ra và báo cáo câu trả lời của bạn. Các chữ cái phân biệt chữ hoa chữ thường, vì vậy 'b' và 'B' khác nhau chẳng hạn
Mã số. -
word = input[]
s = set[word]
count = 0
while True:
line = input[]
if line == "":
break
for i in line:
if i in s:
count += 1
print[count]
Q8. Điểm của mỗi học sinh trong môn Vật lý và Toán học được ghi thành bộ ba như sau. [Tên sinh viên,Điểm vật lý,Điểm toán học]. Chẳng hạn, bộ ba ['Balaji',72,94] ghi rằng học sinh tên Balaji đạt 72 điểm môn Vật lý và 94 điểm môn Toán
Mã số. -
def studypairs[l]:
[phys, maths] = [0,0]
pairs = []
for i in l:
for j in l:
if i!=j:
# conditioning the statements
if [i[2]>j[2]] and [i[1]=10] and [abs[i[2]-j[2]]>=10]:
new_tuple = [i[0], j[0]]
pairs.append[tuple[sorted[new_tuple]]]
return [sorted[pairs]]
Lập Trình Cấu Trúc Dữ Liệu Và Thuật Toán Bằng Python Trắc nghiệm lập trình trực tuyến. -
Q1. Đây là một hàm isprimebad lấy một số nguyên dương làm đầu vào và trả về True nếu số đó là số nguyên tố và False nếu ngược lại. Có một lỗi trong chức năng này. Cung cấp một đầu vào n, là một số nguyên dương, mà isprimebad tạo ra một đầu ra không chính xác
Mã số. -
________số 8_______quý 2. Đây là một chức năng để kiểm tra xem ba số nguyên đầu vào có khác nhau không. Bạn phải điền vào các dòng còn thiếu
Mã số. -
if [a!=c]:
return True
return False
Q3. Nhớ lại rằng các vị trí trong một danh sách có độ dài n là 0,1,…,n-1. Chúng ta muốn viết một hàm evenpositions[l] trả về các phần tử ở vị trí chẵn trong l. Nói cách khác, hàm sẽ trả về danh sách [l[0],l[2],…]. Ví dụ: vị trí chẵn[[]] == [], vị trí chẵn[[7]] == [7], vị trí chẵn[[8,11,8]] == [8,8] và vị trí chẵn[[19,3,44 . Một định nghĩa đệ quy của vị trí chẵn được đưa ra dưới đây. Bạn phải điền vào đối số còn thiếu cho lệnh gọi đệ quy
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
0Q4. Một số nguyên dương được gọi là lập phương tự do nếu nó không chia hết cho bất kỳ số nguyên lập phương nào lớn hơn 1. Chẳng hạn, 5, 10 và 21 là số tự do lập phương, trong khi 24 và 108 thì không, vì 24 chia hết cho 23 và 108 chia hết cho 33
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
1Q5. Đưa ra hai danh sách các số nguyên, l1 và l2, chúng tôi muốn xác định các số nguyên từ mỗi danh sách không có trong danh sách kia. Chẳng hạn, nếu l1 là [1,2,4,9,1,2] và l2 là [2,3,4,5,4,7,7], chúng tôi xác định [1,9,1] là các số từ
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
2Q6. Viết chương trình Python đọc đầu vào từ bàn phím [đầu vào tiêu chuẩn]. Đầu vào sẽ bao gồm một số dòng văn bản. Đầu vào sẽ được kết thúc bởi một dòng trống. Dòng đầu tiên sẽ bao gồm một từ duy nhất được hiểu là mẫu bị cấm, sau khi loại bỏ ký tự dòng mới. Chương trình của bạn sẽ in mọi dòng từ dòng thứ hai trở đi không chứa sự xuất hiện của mẫu bị cấm. Bạn có thể cho rằng đầu vào sẽ có một dòng mẫu không trống
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
3Q7. Viết chương trình Python đọc đầu vào từ bàn phím [đầu vào tiêu chuẩn]. Đầu vào sẽ bao gồm một số dòng văn bản. Đầu vào sẽ được kết thúc bởi một dòng trống. Dòng đầu tiên sẽ bao gồm một từ duy nhất được hiểu là mẫu bị cấm, sau khi loại bỏ ký tự dòng mới. Chương trình của bạn sẽ in mọi dòng từ dòng thứ hai trở đi không chứa sự xuất hiện của mẫu bị cấm. Bạn có thể cho rằng đầu vào sẽ có một dòng mẫu không trống
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
4Q8. Điểm của mỗi học sinh trong môn Vật lý, Hóa học và Toán học được ghi thành 4 bộ như sau. [Tên học sinh,Điểm Vật lý,Điểm Hóa học,Điểm Toán học]. Chẳng hạn, bộ dữ liệu ['Balaji',85,72,94] ghi lại rằng học sinh tên Balaji đạt 85 điểm môn Vật lý, 72 điểm môn Hóa học và 94 điểm môn Toán học
Các điểm cho toàn bộ lớp được lưu trữ dưới dạng danh sách các bộ dữ liệu đó. Chẳng hạn, [['Clare',92,84,88],['Balaji',85,72,94],['Mousum',75,94,68]]
Mã số. -
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
5Lập trình cấu trúc dữ liệu và giải thuật bằng Python ĐÁP ÁN TUẦN 5. -
Q1. Thư viện tại Trường Phù thủy và Pháp sư Hogwarts đã vi tính hóa quy trình phát hành sách của mình. Thông tin liên quan được cung cấp dưới dạng văn bản từ đầu vào tiêu chuẩn trong ba phần. thông tin về sách, thông tin về người mượn và thông tin về thanh toán. Mỗi phần có một định dạng dòng cụ thể, được mô tả bên dưới
Mã số. -
CHO TRẢ LỜI BÀI TẬP. - LẬP TRÌNH BÀI TẬP DS VÀ THUẬT TOÁN
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
6Lập trình cấu trúc dữ liệu và thuật toán bằng Python ĐÁP ÁN TUẦN 4. -
Q1. Viết hai hàm Python như được chỉ định bên dưới. Dán văn bản cho cả hai chức năng vào cửa sổ gửi. Hàm của bạn sẽ được gọi tự động với nhiều đầu vào khác nhau và sẽ trả về các giá trị như đã chỉ định. Không viết lệnh để đọc bất kỳ đầu vào nào hoặc in bất kỳ đầu ra nào
Viết biểu đồ hàm Python[l] nhận đầu vào là danh sách các số nguyên có số lặp lại và trả về danh sách các cặp như sau
Một trường đại học duy trì thông tin học thuật về sinh viên trong ba danh sách riêng biệt
Mã số. -
CHO TRẢ LỜI BÀI TẬP. - LẬP TRÌNH BÀI TẬP DS VÀ THUẬT TOÁN
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
7Lập trình cấu trúc dữ liệu và thuật toán bằng Python ĐÁP ÁN TUẦN 3. -
Q1. Viết hàm expand[l] nhận đầu vào là danh sách số nguyên l và trả về True nếu chênh lệch tuyệt đối giữa mỗi cặp phần tử liền kề tăng nghiêm trọng
Viết một hàm sumsquare[l] trong Python lấy một danh sách các số nguyên khác rỗng và trả về một danh sách [lẻ,chẵn], trong đó lẻ là tổng bình phương của tất cả các số lẻ trong l và chẵn là tổng bình phương của tất cả các số chẵn
Một ma trận hai chiều có thể được biểu diễn bằng Python theo hàng, dưới dạng một danh sách các danh sách. mỗi danh sách bên trong đại diện cho một hàng của ma trận. Chẳng hạn, ma trận
Mã số. -
CHO TRẢ LỜI BÀI TẬP. - LẬP TRÌNH BÀI TẬP DS VÀ THUẬT TOÁN
if a!=c:
if a!=d:
if b!=d:
if c!=d:
return False
return True
8Lập trình cấu trúc dữ liệu và giải thuật bằng Python BÀI ĐÁP ÁN TUẦN 2. -
Q1. Một số nguyên dương m là một tích nguyên tố nếu nó có thể được viết dưới dạng p×q, trong đó p và q đều là số nguyên tố. Viết hàm primeproduct[m] trong Python lấy số nguyên m làm đầu vào và trả về True nếu m là tích nguyên tố và trả về Sai nếu ngược lại. [Nếu m không dương, hàm của bạn sẽ trả về Sai. ]