Set và dict Python
Tìm giao của 2 tập hợp
Nộp bàiPoint: 1
Cho trước 2 tập hợp, hãy tìm giao của 2 tập hợp đó.
Định dạng đầu vào: Nhập vào 2 tập hợp, mỗi tập hợp trên 1 dòng, mỗi phần tử cách dâu bởi 1 dấu cách
Định dạng đầu ra: In ra giao của 2 tập hợp, nếu không có in ra NONE
Input 01:
1 2 3 4
3 4 5 6
Output 01:
3 4
Input 02:
1 2 7 8
3 4 5 6
Output 02:
NONE
Số còn thiếu trong tập hợp (set)
Nộp bàiPoint: 1
Cho hai bộ số, hãy viết một chương trình để tìm các số còn thiếu trong bộ thứ hai so với bộ thứ nhất và ngược lại.
Định dạng đầu vào: Nhập vào 2 tập hợp, mỗi tập hợp trên 1 dòng, mỗi phần tử cách dâu bởi 1 dấu cách
Định dạng đầu ra: In ra số còn thiếu trong bộ 2 so với bộ 1 và số còn thiếu trong bộ 1 so với bộ 2, nếu không thiếu số nào thì in ra NONE
Input 01:
1 2 3 4
3 4 5 6
Output 01:
[1, 2]
[5, 6]
Input 02:
1 2 7 8
1 2 7 8
Output 02:
NONE
NONE
Số lớn thứ 3 (set)
Nộp bàiPoint: 1
Tìm số lớn thứ 3 trong danh sách sử dụng set
Định dạng đầu vào: Nhập vào 1 danh sách các số nguyên
Định dạng đầu ra: In ra số lớn thứ 3, nếu không có in ra NONE
Input 01:
1 2 3 4 6 4 5 10 3
Output 01:
5
Input 02:
100 3000
Output 02:
NONE
Input 03:
1 2 3 100 100 50
Output 03:
3
Xóa phần tử trong tập hợp (set)
Nộp bàiPoint: 1
Viết chương trình để xóa một hoặc nhiều phần tử khỏi một tập hợp nhất định.
Định dạng đầu vào: Nhập vào 1 tập hợp và phần tử cần xóa
Định dạng đầu ra: In ra tập hợp sau khi xóa
Input 01:
1 2 3 4
1
Output 01:
2 3 4
Input 02:
1 2 7 8
10
Output 02:
1 2 7 8
Có trong tập 1 nhưng không có trong tập 2 (set)
Nộp bàiPoint: 1
Cho 2 tập hợp, hãy tìm các phần tử có trong tập hợp thứ nhất nhưng không có trong tập hợp thứ 2
Định dạng đầu ra: In ra các phần tử có trong tập hợp 1 nhưng không có trong tập hợp 2, nếu không có in ra NONE
Input 01:
1 2 3 4
3 4 5 6
Output 01:
1 2
Input 02:
1 2 7 8
3 4 5 6
Output 02:
1 2 7 8
Input 03:
1 2 7 8
1 2 7 8
Output 03:
NONE
Tìm hợp của 2 tập hợp (set)
Nộp bàiPoint: 1
Cho trước 2 tập hợp, hãy tìm hợp của 2 tập hợp đó.
Định dạng đầu ra: In ra hợp của 2 tập hợp
Input 01:
1 2 3 4
3 4 5 6
Output 01:
1 2 3 4 5 6
Input 02:
1 2 7 8
3 4 5 6
Output 02:
1 2 3 4 5 6 7 8
Liệt kê phần tử toàn số lẻ
Nộp bàiPoint: 1
Liệt kê các số trong mảng một chiều các số nguyên chứa toàn chữ số lẻ. Mỗi phần tử chỉ liệt kê 1 lần.
Ví dụ:
Input:
10
1 2 3 4 55 666 7 898 1 4
Output:
1 3 55 7
Lớn nhất, nhỏ nhất (set)
Nộp bàiPoint: 1
Cho mảng A[] gồm n phần tử, có 3 loại thao tác:
• Thao tác 1: Thêm phần tử X vào mảng
• Thao tác 2: Xóa mọi giá trị X khỏi mảng nếu X tồn tại trong mảng
• Thao tác 3: Tìm phần tử nhỏ nhất trong mảng
• Thao tác 4: Tìm phần tử lớn nhất trong mảng
Đối với thao tác 3 và 4 bạn hãy in ra phần tử lớn nhất, nhỏ nhất trong mảng A[]
Định dạng đầu vào:
• Dòng 1 nhập N là số lượng phần tử ban đầu trong mảng A[]
• Dòng thứ 2 nhập N phần tử ban đầu của mảng A[]
• Dòng 3 nhập số lượng thao tác Q
• Q dòng tiếp theo mỗi dòng mô tả 1 thao tác, trong đó nếu là thao tác 1 và 2 thì có thêm phần tử X.
Ràng buộc:
1<=N<=10^5
1<=Q<=10000
0<=A[i], X<=10^6
Input:
10
24 31 49 65 57 77 7 81 77 79
10
2 60
2 7
3
3
2 45
1 16
4
3
1 6
1 8
Output:
24
24
81
16
Phần tử riêng biệt (set)
Nộp bàiPoint: 1
Cho dãy số A[] gồm có N phần tử, bạn hãy liệt kê các giá trị xuất hiện trong dãy theo thứ tự xuất hiện, mỗi giá trị chỉ liệt kê một lần.
Định dạng đầu vào: Dòng đầu tiên là số nguyên N. Dòng thứ 2 là N số nguyên A[i]
Ràng buộc: 1≤ N ≤ 10^5; 0 ≤ A[i] ≤ 10^9;
Định dạng đầu ra: In ra các giá trị xuất hiện trong máng theo thứ tự xuất hiện.
Input:
8
1 2 3 2 1 3 4 8
Output:
1 2 3 4 8
Số k tốt (set)
Nộp bàiPoint: 1
Hãy gọi một số là số k tốt nếu số đó chứa tất cả các chữ số không vượt quá chính nó k (0,...,k). Tý có một số k và một mảng A chứa n số. Tìm giúp Tý xem có bao nhiêu số đẹp k tốt trong A (đếm từng số mỗi khi nó xuất hiện trong mảng A).
Định dạng đầu vào: Dòng đầu tiên chứa n và k tương ướng với đề bài; n dòng tiếp theo mỗi dòng chứa một số ai là phần tử thứ i của mảng A (1 <= i <= n)
Ràng buộc: 1 <= n <= 10^5; 0 <= k <= 9; 1 <= ai <= 10^9; 1 <= i <= n
Định dạng đầu ra: In ra số lượng số k tốt trong dãy a
Input 01:
2 1
1
10
Output 01:
1
Giải thích: Trong 2 số 1 và 10 chỉ có số 10 là có đầy đủ 2 chữ số từ 0 đến 1 (k = 1)
Input 02:
2 4
12340
123
Output 02:
1
Liệt kê các từ khác nhau trong xâu (xâu ký tự - chuỗi ký tự)
Nộp bàiPoint: 1
Cho một xâu kí tự S bao gồm các chữ cái và dấu cách, một từ được định nghĩa là các kí tự liên tiếp không chứa dấu cách, hãy liệt kê các từ khác nhau trong xâu S, đầu tiên hãy liệt kê các từ khác nhau theo thứ tự từ điển tăng dần, sau đó liệt kê các từ theo thứ tự xuất hiện trong xâu.
Ràng buộc: ~1 \leq len(S) \leq 100000~;
Dòng đầu tiên in ra các trong xâu theo thứ tự từ điến. Dòng thứ hai in ra các từ theo thứ tự xuất hiện trong xâu. Chú ý không in dấu cách thừa sau từ cuối cùng của từng dòng.
Input:
hoc cong nghe day hoc lap trinh C++ python java rat cong nghe
Output:
C++ cong day hoc java lap nghe python rat trinh
hoc cong nghe day lap trinh C++ python java rat
Sắp xếp từ điển theo giá trị (dict - python)
Nộp bàiPoint: 1
Nhập vào từ điển theo định dạng và sắp xếp (tăng dần và giảm dần) một từ điển theo giá trị.
Input:
{'a': 3, 'b': 1, 'c': 2}
Output:
{'b': 1, 'c': 2, 'a': 3}
{'a': 3, 'c': 2, 'b': 1}
Thêm vào cuối từ điển
Nộp bàiPoint: 1
Viết một chương trình Python nhập vào một từ điển với key và value là các số nguyên, sau đó thêm một phần tử vào cuối từ điển và in từ điển ra màn hình
Định dạng đầu vào: Dòng đầu nhập số phần tử của từ điển, các dòng tiếp theo lần lượt nhật key và value của từng phần tử trong từ điển, dòng cuối cùng nhập key và value cần thêm.
Định dạng đầu ra: In ra từ điển sau khi thêm
Input 01:
3
1
100
2
200
3
300
4
400
Output 01:
{1: 100, 2: 200, 3: 300, '4': '400'}
Input 02:
0
5
500
Output 02:
{'5': '500'}
Nối từ điển
Nộp bàiPoint: 1
Nhập vào 3 từ điển với key và value là các số nguyên, sau đó nối 3 từ điển đó thành 1 từ điển và in ra màn hình
Định dạng đầu vào: Lần lượt nhập vào 3 từ điển
Định dạng đầu ra: In ra từ điển sau khi nối 3 từ điển trên
Input 01:
2
1
10
2
20
2
3
30
4
40
2
5
50
6
60
Output 01:
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60}
Input 02:
1
1
100
1
2
200
1
3
300
Output 02:
{1: 100, 2: 200, 3: 300}
Kiểm tra khóa có tồn tại
Nộp bàiPoint: 1
Nhập vào một từ điển có n phần tử với key là ký tự và value là số nguyên. Nhập vào 1 key bất kỳ và kiểm tra xem khóa đã tồn tại trong từ điển hay chưa. Nếu tồn tại in ra YES, ngược lại in ra NO
Định dạng đầu vào: Dòng đầu tiên nhập n, các dòng tiếp theo nhập vào n phần tử của từ điển, dòng cuối cùng nhập key
Định dạng đầu ra: In ra YES nếu khóa tồn tại, ngược lại in ra NO
Input 01:
3
a
10
b
20
c
30
b
Output 01:
YES
Input 02:
2
x
100
y
200
z
Output 02:
NO
Giá trị bình phương khóa
Nộp bàiPoint: 1
Tạo ra một từ điển có N phần tử với key và value là số nguyên trong đó value sẽ bằng key bình phương.
Định dạng đầu vào: Nhập vào N là số lượng phần tử của từ điển, các dòng tiếp theo lần lượt nhập các key là số nguyên
Định dạng đầu ra: In ra từ điển theo nguyên tắc trên
Input 01:
5
1
2
3
4
5
Output 01:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Input 02:
10
5
1
7
4
7
9
2
5
8
10
Output 02:
{5: 25, 1: 1, 7: 49, 4: 16, 9: 81, 2: 4, 8: 64, 10: 100}
Tổng từ điển
Nộp bàiPoint: 1
Nhập vào một từ điển có n phần tử với key là ký tự và value là số nguyên. Hãy tính tổng tất cả các giá trị value trong từ điển và in ra
Định dạng đầu vào: Dòng đầu tiên nhập n, các dòng tiếp theo nhập vào n phần tử của từ điển
Định dạng đầu ra: In ra tổng các giá trị trong từ điển
Input 01:
3
a
10
b
20
c
30
Output 01:
60
Input 02:
2
x
100
y
200
Output 02:
300
Xóa từ điển dựa vào khóa
Nộp bàiPoint: 1
Nhập vào một từ điển có n phần tử với key là ký tự và value là số nguyên. Hãy xóa một giá trị trong từ điển dựa vào khóa và in lại từ điển sau khi xóa
Định dạng đầu vào: Dòng đầu tiên nhập n, các dòng tiếp theo nhập vào n phần tử của từ điển, dòng cuối cùng nhập vào khóa cần xóa
Định dạng đầu ra: In ra từ điển sau khi xóa
Input 01:
3
a
10
b
20
c
30
b
Output 01:
{'a': 10, 'c': 30}
Input 02:
2
x
100
y
200
z
Output 02:
{'x': 100, 'y': 200}
Sắp xếp từ điển dựa vào khóa
Nộp bàiPoint: 1
Nhập vào một từ điển có n phần tử với key là ký tự và value là số nguyên. Hãy sắp xếp từ điển vừa nhập theo khóa
Định dạng đầu vào: Dòng đầu tiên nhập n, các dòng tiếp theo nhập vào n phần tử của từ điển
Định dạng đầu ra: In ra từ điển đã được sắp xếp theo khóa
Input 01:
3
c
30
a
10
b
20
Output 01:
{'a': 10, 'b': 20, 'c': 30}
Input 02:
4
d
40
b
20
a
10
c
30
Output 02:
{'a': 10, 'b': 20, 'c': 30, 'd': 40}
Tìm giá trị min và max của 1 từ điển
Nộp bàiPoint: 1
Nhập vào một từ điển có n phần tử với key là ký tự và value là số thực. Hãy tìm giá trị min và max của từ điển đó và in ra.
Định dạng đầu vào: Dòng đầu tiên nhập n, các dòng tiếp theo nhập vào n phần tử của từ điển
Định dạng đầu ra: In ra giá trị min và max của từ điển
Input 01:
3
a
10.5
b
20.3
c
5.7
Output 01:
5.7
20.3
Input 02:
2
x
100.0
y
200.5
Output 02:
100.0
200.5
In ra giá trị riêng biệt trong từ điển (Python)
Nộp bàiPoint: 1
Viết chương trình Python để in tất cả các giá trị riêng biệt trong một từ điển.?Ví dụ cho nhập vào [{"V":"S001"}, {"V": "S002"}, {"VI": "S001"}, {"VI": "S005"}, {"VII":"S005"}, {"V":"S009"},{"VIII":"S007"}]?Đầu ra mong đợi: Các giá trị duy nhất: ['S001', 'S002', 'S005', 'S009', 'S007']
Đầu vào: Nhập vào một danh sách gồm các phần tử là từ điển
- Dòng đầu tiên là số lượng phần tử trong danh sách
- Từ dòng thứ 2 lần lượt nhập vào key và value của n từ điển
Đẩu ra: In ra các giá trị riêng biệt trong một danh sách
Input 01:
4
A
X001
B
X002
C
X001
D
X003
Output 01:
['X001', 'X002', 'X003']
Input 01:
3
K1
V1
K2
V2
K3
V1
Output 01:
['V1', 'V2']
Quản lý cửa hàng thực phẩm sạch (dict in Python)
Nộp bàiPoint: 1
Viết chương trình quản lý hàng hóa tại cửa hàng thực phẩm sạch:
• Nhập danh sách thực phẩm gồm: Tên thực phẩm, Số lượng, Giá bán, Ngày hết hạn.
• Tính tổng số lượng thực phẩm trong kho.
• Hiển thị danh sách thực phẩm có hạn sử dụng trước ngày 01/04/2025.
• Liệt kê thực phẩm có số lượng dưới 15.
Ví dụ:
Input 01:
3
Rau cải
10
12000
28/03/2025
Thịt gà
20
85000
05/04/2025
Sữa hạt
8
30000
25/03/2025
Output 01:
Tổng số lượng thực phẩm trong kho: 38
Thực phẩm có hạn sử dụng trước ngày 01/04/2025:
{'Tên': 'Rau cải', 'Số lượng': 10, 'Giá bán': 12000.0, 'Hạn sử dụng': '28/03/2025'}
{'Tên': 'Sữa hạt', 'Số lượng': 8, 'Giá bán': 30000.0, 'Hạn sử dụng': '25/03/2025'}
Thực phẩm có số lượng dưới 15:
{'Tên': 'Rau cải', 'Số lượng': 10, 'Giá bán': 12000.0, 'Hạn sử dụng': '28/03/2025'}
{'Tên': 'Sữa hạt', 'Số lượng': 8, 'Giá bán': 30000.0, 'Hạn sử dụng': '25/03/2025'}
Input 02:
2
Cam
25
20000
10/04/2025
Nho
30
45000
15/05/2025
Output 02:
Tổng số lượng thực phẩm trong kho: 55
Thực phẩm có hạn sử dụng trước ngày 01/04/2025:
Thực phẩm có số lượng dưới 15:
Input 03:
2
Bánh mì
12
10000
15/03/2025
Phô mai
6
60000
01/03/2025
Output 03:
Tổng số lượng thực phẩm trong kho: 18
Thực phẩm có hạn sử dụng trước ngày 01/04/2025:
{'Tên': 'Bánh mì', 'Số lượng': 12, 'Giá bán': 10000.0, 'Hạn sử dụng': '15/03/2025'}
{'Tên': 'Phô mai', 'Số lượng': 6, 'Giá bán': 60000.0, 'Hạn sử dụng': '01/03/2025'}
Thực phẩm có số lượng dưới 15:
{'Tên': 'Bánh mì', 'Số lượng': 12, 'Giá bán': 10000.0, 'Hạn sử dụng': '15/03/2025'}
{'Tên': 'Phô mai', 'Số lượng': 6, 'Giá bán': 60000.0, 'Hạn sử dụng': '01/03/2025'}
Quản lý dịch vụ sửa chữa xe máy (dict in Python)
Nộp bàiPoint: 1
Viết chương trình quản lý các dịch vụ sửa chữa:
• Nhập danh sách dịch vụ, mỗi dịch vụ gồm: Tên dịch vụ, Giá dịch vụ, Thời gian thực hiện (phút).
• Tính tổng thời gian thực hiện tất cả các dịch vụ.
• Liệt kê các dịch vụ có thời gian thực hiện trên 60 phút.
• Hiển thị dịch vụ có giá trên 500.000 đồng.
Input 01:
3
Thay man hinh
750000
90
Sua pin
300000
45
Ve sinh may
200000
30
Output 01:
Tổng thời gian thực hiện tất cả các dịch vụ: 165 phút
Các dịch vụ có thời gian thực hiện trên 60 phút:
{'Tên dịch vụ': 'Thay man hinh', 'Giá dịch vụ': 750000.0, 'Thời gian': 90}
Các dịch vụ có giá trên 500.000 đồng:
{'Tên dịch vụ': 'Thay man hinh', 'Giá dịch vụ': 750000.0, 'Thời gian': 90}
Input 02:
2
Thay pin
600000
50
Ve sinh may
150000
30
Output 02:
Tổng thời gian thực hiện tất cả các dịch vụ: 80 phút
Các dịch vụ có thời gian thực hiện trên 60 phút:
Các dịch vụ có giá trên 500.000 đồng:
{'Tên dịch vụ': 'Thay pin', 'Giá dịch vụ': 600000.0, 'Thời gian': 50}
Input 03:
2
Sua may lanh
450000
75
Ve sinh may
200000
40
Output 03:
Tổng thời gian thực hiện tất cả các dịch vụ: 115 phút
Các dịch vụ có thời gian thực hiện trên 60 phút:
{'Tên dịch vụ': 'Sua may lanh', 'Giá dịch vụ': 450000.0, 'Thời gian': 75}
Các dịch vụ có giá trên 500.000 đồng:
Quản lý xe gửi trong bãi đỗ xe (dict in Python)
Nộp bàiPoint: 1
Xây dựng chương trình quản lý xe với các yêu cầu:
• Nhập danh sách xe, mỗi xe gồm: Biển số, Loại xe (ô tô/xe máy), Thời gian gửi (giờ), Phí gửi.
• Tính tổng tiền gửi của cả bãi.
• Liệt kê các xe gửi trên 24 giờ.
Ví dụ:
Input 01:
3
29A-123.45
o to
30
100000
59B-456.78
xe may
5
15000
51C-789.01
ô tô
20
80000
Output 01:
Tổng tiền gửi của cả bãi: 195000.0 VND
Các xe gửi trên 24 giờ:
{'Biển số': '29A-123.45', 'Loại xe': 'o to', 'Thời gian gửi': 30.0, 'Phí gửi': 100000.0}
Các xe là ô tô:
{'Biển số': '51C-789.01', 'Loại xe': 'ô tô', 'Thời gian gửi': 20.0, 'Phí gửi': 80000.0}
Input 02:
2
59X-111.22
xe may
10
10000
63Y-333.44
xe may
8
8000
Output 02:
Tổng tiền gửi của cả bãi: 18000.0 VND
Các xe gửi trên 24 giờ:
Các xe là ô tô:
Input 03:
2
30E-999.88
o To
25
120000
31F-888.77
O tO
48
150000
Output 03:
Các xe gửi trên 24 giờ:
{'Biển số': '30E-999.88', 'Loại xe': 'o to', 'Thời gian gửi': 25.0, 'Phí gửi': 120000.0}
{'Biển số': '31F-888.77', 'Loại xe': 'o to', 'Thời gian gửi': 48.0, 'Phí gửi': 150000.0}
Các xe là ô tô:
Quản lý kho linh kiện điện tử (dict in Python)
Nộp bàiPoint: 1
Viết chương trình quản lý kho linh kiện với các yêu cầu sau:
• Nhập danh sách các linh kiện, mỗi linh kiện có: Tên linh kiện, Loại linh kiện, Số lượng, Giá nhập.
• Tính tổng giá trị hàng trong kho (số lượng * giá nhập của từng linh kiện).
• Liệt kê các linh kiện thuộc loại "Cảm biến".
Ví dụ:
Input 01:
3
Cam bien nhiet do
Cam bien
10
12000
Dien tro 10K
Thu dong
100
200
Cam bien anh sang
Cam bien
5
15000
Output 01:
Tong gia tri hang trong kho: 215000.0
Cac linh kien thuoc loai cam bien:
{'Tên': 'Cam bien nhiet do', 'Loại': 'Cam bien', 'Số lượng': 10, 'Giá nhập': 12000.0}
{'Tên': 'Cam bien anh sang', 'Loại': 'Cam bien', 'Số lượng': 5, 'Giá nhập': 15000.0}
Cac linh kien co so luong nho hon 20:
{'Tên': 'Cam bien nhiet do', 'Loại': 'Cam bien', 'Số lượng': 10, 'Giá nhập': 12000.0}
{'Tên': 'Cam bien anh sang', 'Loại': 'Cam bien', 'Số lượng': 5, 'Giá nhập': 15000.0}
Input 02:
2
May han
Cong cu
50
500000
IC 555
Vi mach
10
8000
Output 02:
Tong gia tri hang trong kho: 25080000.0
Cac linh kien thuoc loai cam bien:
Cac linh kien co so luong nho hon 20:
{'Tên': 'IC 555', 'Loại': 'Vi mach', 'Số lượng': 10, 'Giá nhập': 8000.0}
Quản lý lớp học (dict in Python)
Nộp bàiPoint: 1
Viết chương trình quản lý học sinh trong một lớp học với yêu cầu:
• Nhập thông tin học sinh, mỗi học sinh gồm: Tên, Điểm Toán, Điểm Văn, Điểm Anh.
• Tính điểm trung bình của từng học sinh.
• Liệt kê học sinh có điểm trung bình dưới 5.
• Liệt kê học sinh có điểm trung bình từ 8 trở lên.
Ví dụ:
Input 01:
3
An
4
5
3
Binh
9
8
9
Cuong
6
7
6
Output 01:
Danh sách học sinh và điểm trung bình:
An: 4.0
Binh: 8.67
Cuong: 6.33
Học sinh có điểm trung bình dưới 5:
{'Tên': 'An', 'Toán': 4.0, 'Văn': 5.0, 'Anh': 3.0, 'Điểm TB': 4.0}
Học sinh có điểm trung bình từ 8 trở lên:
{'Tên': 'Binh', 'Toán': 9.0, 'Văn': 8.0, 'Anh': 9.0, 'Điểm TB': 8.67}
Input 02:
2
Dung
6
5
6
Hoa
7
7
6
Output 02:
Danh sách học sinh và điểm trung bình:
Dung: 5.67
Hoa: 6.67
Học sinh có điểm trung bình dưới 5:
Học sinh có điểm trung bình từ 8 trở lên: