Putting it all together · Kết hợp tất cả lại
Putting it all together
- You now know variables, input,
if, loops, lists, functions, and dictionaries. - A real program combines these small pieces into one useful tool.
- In this lesson you build a tiny class-scores analyzer, one function at a time.
Tổng hợp tất cả
- Bây giờ bạn đã biết về biến, đầu vào,
if, vòng lặp, danh sách, hàm, và từ điển. - Một chương trình thực tế kết hợp những mảnh nhỏ này thành một công cụ hữu ích.
- Trong bài học này, bạn xây dựng một bộ phân tích điểm lớp học thu nhỏ, từng hàm một.
The plan
- We have a list of test scores, like
[70, 90, 50, 80]. - We want three answers: the average, how many passed, and a short summary.
- We will write one small function for each job, then they work together.
Kế hoạch
- Chúng ta có một danh sách các điểm số bài kiểm tra, ví dụ như
[70, 90, 50, 80]. - Chúng ta cần ba câu trả lời: giá trị trung bình, số lượng đạt yêu cầu, và một bản tóm tắt ngắn gọn.
- Chúng ta sẽ viết một hàm nhỏ cho mỗi nhiệm vụ, sau đó chúng hoạt động cùng nhau.
The analyzer calls each helper · Trình phân tích gọi từng hàm hỗ trợ
A big program calls small functions in turn, each returning one answer. · Một chương trình lớn gọi các hàm nhỏ theo tuần tự, mỗi hàm trả về một đáp án.
Handy built-ins for lists
- Python gives you ready-made helpers that work on a list of numbers.
len(x)counts the items,sum(x)adds them,max(x)/min(x)find the largest / smallest.- Use them instead of writing a loop every time.
Các hàm tích hợp tiện dụng cho danh sách
- Python cung cấp sẵn những công cụ hỗ trợ làm việc trên một danh sách các số.
len(x)đếm số phần tử,sum(x)cộng tổng chúng,max(x)/min(x)tìm giá trị lớn nhất / nhỏ nhất.- Hãy sử dụng chúng thay vì phải viết vòng lặp mỗi lần.
scores = [70, 90, 50, 80]
print(len(scores)) # 4
print(sum(scores)) # 290
print(max(scores)) # 90
print(min(scores)) # 50
A pattern you will reuse: count items that pass a test
- A very common job: loop a list, and count the items that pass some test.
- Start a counter at
0, and add1each time theifis true. - Here we count the long words; soon you will count the passing scores.
Một mẫu mã bạn sẽ tái sử dụng: đếm các phần tử vượt qua điều kiện kiểm tra
- Một nhiệm vụ rất phổ biến: duyệt qua một danh sách và đếm các phần tử thỏa mãn một điều kiện nào đó.
- Khởi tạo bộ đếm ở
0, và tăng thêm1mỗi khiiflà đúng. - Ở đây chúng ta đang đếm các từ dài; sắp tới bạn sẽ đếm các điểm số đạt yêu cầu.
def how_many_long_words(words, min_length):
count = 0
for w in words:
if len(w) >= min_length:
count = count + 1
return count
print(how_many_long_words(["hi", "hello", "hey", "howdy"], 4)) # 2
Common mistakes
- Build in small pieces and test each one before adding the next.
- Read the whole task first, then plan before you code.
Lỗi thường gặp
- Xây dựng theo từng phần nhỏ và kiểm tra từng phần trước khi thêm phần tiếp theo.
- Đọc toàn bộ đề bài trước, sau đó lập kế hoạch trước khi viết code.
Now you try
- Build the analyzer in three steps:
average,count_passing, thenstats. - Each function is small. Together they turn a list of scores into real answers.
- Press Check answer after each one.
Bây giờ bạn thử
- Xây dựng trình phân tích thành ba bước:
average,count_passing, rồistats. - Mỗi hàm đều nhỏ. Kết hợp lại, chúng chuyển đổi một danh sách điểm số thành các câu trả lời thực tế.
- Nhấn Kiểm tra đáp án sau mỗi bước.
Write average(scores) that returns the average (mean) of a list of numbers: the total divided by how many. If the list is empty, return 0 (so it does not crash). Example: average([2, 4]) is 3.0. · Viết average(scores) trả về trung bình (mean) của một danh sách số: tổng chia cho số lượng. Nếu danh sách rỗng, trả về 0 (để không bị sập). Ví dụ: average([2, 4]) là 3.0.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write count_passing(scores, pass_mark) that returns how many scores are greater than or equal to pass_mark. Loop the list and count. Example: count_passing([40, 50, 60], 50) is 2. · Viết count_passing(scores, pass_mark) trả về số lượng điểm lớn hơn hoặc bằng pass_mark. Duyệt danh sách và đếm. Ví dụ: với count_passing([40, 50, 60], 50) là 2.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write stats(scores) (assume at least one score) that returns a dictionary with three keys: "highest", "lowest", and "average". Example: stats([70, 90, 50, 80]) returns {"highest": 90, "lowest": 50, "average": 72.5}. · Viết stats(scores) (giả sử có ít nhất một điểm) trả về một bảng hash với ba khóa: "highest", "lowest", và "average". Ví dụ: với stats([70, 90, 50, 80]) trả về {"highest": 90, "lowest": 50, "average": 72.5}.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write grade_counts(scores) that returns a dictionary counting grades: A for 80 and above, B for 60 and above, C for the rest. Always include all three keys: grade_counts([85, 72, 90, 40]) is {"A": 2, "B": 1, "C": 1}. · Viết grade_counts(scores) trả về một từ điển đếm điểm: A cho điểm 80 trở lên, B cho điểm 60 trở lên, và C cho các điểm còn lại. Luôn bao gồm cả ba khóa: khi đó grade_counts([85, 72, 90, 40]) sẽ là {"A": 2, "B": 1, "C": 1}.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.