C6-04 · Trung bình các số dương

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Cho một dãy ~n~ số nguyên. Hãy tính trung bình cộng các số dương (số lớn hơn 0) trong dãy và in với đúng 2 chữ số thập phân. Nếu dãy không có số dương nào thì in KHONG.

Gợi ý: lọc các số dương ra danh sách mới bằng biểu thức tạo danh sách (mục 6.5.2), rồi dùng sum và len. Viết phần tính thành hàm, không sửa danh sách đầu vào.

Dữ liệu vào

  • Dòng 1: số nguyên ~n~.
  • Dòng 2: ~n~ số nguyên ~a_1, \ldots, a_n~, cách nhau một dấu cách.

Kết quả

Một dòng: trung bình cộng các số dương, đúng 2 chữ số thập phân (làm tròn, in bằng f"{tb:.2f}"); hoặc chữ KHONG (viết hoa, không dấu).

Ràng buộc

  • ~1 \le n \le 100~.
  • ~-10^9 \le a_i \le 10^9~.

Ví dụ

Dữ liệu vào:

6
-3 4 0 7 -1 2

Kết quả:

4.33

Giải thích ví dụ

Các số dương là 4, 7, 2 (số 0 không dương). Trung bình ~\dfrac{4 + 7 + 2}{3} = \dfrac{13}{3} = 4{,}333\ldots~, in với 2 chữ số thập phân là 4.33.

Lưu ý

  • Số 0 không phải số dương: điều kiện là x > 0.
  • Chia cho số các số dương, không phải cho ~n~.
  • Không có số dương thì không được chia (chia cho 0 là lỗi chạy chương trình).
  • round(tb, 2) in 15.0 khi trung bình là 15 — sai định dạng; dùng f"{tb:.2f}" để in 15.00.

Nguồn trong sách: Bài C6-04, mục 6.12, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (**)


Đang tải...