Python: Bài tập phần List-Tuple-Dictionary
Bài tập 1 (phần list số 1 chiều)
Hãy tạo ngẫu nhiên một list a gồm N phần tử sau đó thực hiện:
- Sắp xếp a theo thứ tự tăng dần
- Loại bỏ bớt các phần tử có giá trị giống nhau sao cho mỗi giá trị chỉ xuất hiện trong a duy nhất 1 lần.
Bài tập 2 (phần list số 1 chiều)
1. Nhập một số nguyên N (0<N<50).
2. Nhập một List gồm N số thực.
3. Tìm số lớn nhất trong list.
4. Tìm số nhỏ nhất trong list.
5. Tìm số dương chẵn lớn nhất trong list.
6. Tìm số âm lẻ nhỏ nhất trong list.
7. Tìm các số chính phương trong list.
8. Tính tổng list.
9. Tính trung bình cộng các phần tử list.
10. Tìm những phần tử lớn hơn trung bình cộng.
11. Sắp xếp list theo trật tự tăng dần.
12. Sắp xếp list theo trật tự giảm dần.
Bài tập 3: Change Coin
Với một giá trị N, nếu chúng ta muốn đổi N xu và chúng ta có nguồn cung vô hạn đối với mỗi đồng xu có giá trị S = {S1, S2, .., Sm}, chúng ta có thể thực hiện bao nhiêu cách để thực hiện thay đổi? Thứ tự của các đồng xu không quan trọng.
Ví dụ: đối với N = 4 và S = {1,2,3}, có bốn nghiệm: {1,1,1,1}, {1,1,2}, {2,2}, {1, 3}. Với N = 10 và S = {2, 5, 3, 6}, có năm nghiệm: {2,2,2,2,2}, {2,2,3,3}, {2,2,6}, {2,3,5} và {5,5}.
Bài tập 4 (phần chuỗi)
1. Nhập một chuỗi a bất kỳ từ bàn phím có kích thước trong khoảng (0,50).
2. Kiểm tra xem trong chuỗi a có ký số hay không.
3. Kiểm tra xem trong chuỗi a có ký tự in HOA hay không.
4. Nhập từ bàn phím một ký tự ch bất kỳ, kiểm tra xem trong chuỗi a có chứa ký tự đó hay không?
5. Nhập từ bàn phím một chuỗi b bất kỳ, kiểm tra xem b có nằm trong a hay không? Kiểm tra xem b có độ dài lớn hơn a hay không? Kiểm tra xem b có lớn hơn a hay không?
6. Kiểm tra xem chuỗi a có tính đối xứng hay không?
7. Chuỗi a có bao nhiêu từ?
8. Cắt tất cả dấu cách (space) ở cuối chuỗi.
9. Cắt tất cả dấu cách ở đầu chuỗi.
10. Hãy đảm bảo rằng giữa hai từ bất kỳ của chuỗi a chỉ có một dấu cách.
11. Tính giá trị trung bình của tất cả các ký tự của chuỗi a theo thứ tự ký tự trong bảng mã ASCII (ví dụ nếu chuỗi là "123" thì ký tự '1' có vị trí 49, ký tự '2' có vị trí 50, ký tự '3' có vị trí 51, như vậy giá trị trung bình là 50).
12. Đếm xem mỗi ký tự trong chuỗi a xuất hiện bao nhiêu lần. Ví dụ với chuỗi "V1StudyAll" thì ký tự 'l' xuất hiện 2 lần, các ký tự khác xuất hiện 1 lần.
13. Hãy chèn vào giữa ký tự có chỉ số 4 và 5 của chuỗi a một ký tự '\n'.
14. Hãy chèn vào giữa 2 ký tự in hoa bất kỳ của chuỗi a ký tự '\t'.
Bài tập 5 (phần chuỗi)
Hãy dùng hàm find() để tách số 0.8475 khỏi chuỗi sau:
text = "X-DSPAM-Confidence: 0.8475"
Bài tập 6 (phần chuỗi)
Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form:
X-DSPAM-Confidence: 0.8475
Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.
You can download the sample data at https://v1study.com/public/share/sample-file.txt
Bài tập 7 (phần list chuỗi)
1. Nhập N và nhập một list a gồm N chuỗi (0<N<=50 và mỗi chuỗi có kích thước tối đa 30).
2. Tìm những chuỗi có kích thước nhỏ nhất, lớn nhất.
3. Tính kích thước trung bình của các chuỗi.
4. Hiển thị những chuỗi có kích thước lớn hơn kích thước trung bình.
5. Sắp xếp các chuỗi tăng dần, giảm dần theo kích thước.
6. Tìm những chuỗi nhỏ nhất, lớn nhất theo thứ tự ký tự trong bảng mã ASCII.
7. Sắp xếp các chuỗi tăng dần, giảm dần theo thứ tự ký tự trong bảng mã ASCII.
8. Nhập vào từ bàn phím một chuỗi st có kích thước tối đa 30. Tìm những chuỗi trong list a có kích thước bằng chuỗi st. Tìm những chuỗi trong list a có chứa chuỗi st.
9. Tìm những chuỗi có tính đối xứng trong list a.
10. Hiển thị những chuỗi là địa chỉ email chuẩn (ví dụ "abc@def.com").
11. Tìm những chuỗi có chứa ký tự số.
12. Tìm những chuỗi có chứa ký tự in HOA.
13. Nhập từ bàn phím một ký tự c bất kỳ. Tìm những chuỗi có chứa ký tự c.
14. Mỗi chuỗi trong list a có bao nhiêu từ?
15. Nhập vào một ký tự rồi chèn ký tự đó vào vị trí thứ 5 của chuỗi cuối cùng.
16. Nhập M chuỗi (0<M<N) sau đó đếm xem mỗi chuỗi trong M chuỗi xuất hiện bao nhiêu lần trong N chuỗi.
17. Nối tất cả các chuỗi và in ra.
18. Hiển thị những chuỗi chứa chuỗi đầu tiên
19. Kiểm tra xem chuỗi đầu tiên có bắt đầu bằng chuỗi "hello" không.
20. Tính giá trị trung bình theo vị trí ký tự trong bảng mã ASCII của từng chuỗi.
21. Hiển thị những chuỗi có độ dài lớn hơn độ dài nhỏ nhất và nhỏ hơn độ dài lớn nhất trong list a
22. Nhập vào một độ dài xác định và in ra những chuỗi có độ dài bằng độ dài xác định đó.
23. Đếm số từ trong chuỗi thứ N-1
24. Chuyển chuỗi thứ hai thành chuỗi in hoa.
25. Cắt ký tự trắng ở cuối chuỗi cuối cùng
26. Cắt ký tự trắng ở đầu chuỗi cuối cùng
27. Cắt ký tự trắng thừa ở giữa chuỗi cuối cùng.