Nhập điểm trung bình của một học sinh là một số thức Python

Viết hàm với tham số truyền vào là một danh sách các số thực. Trả về trung bình cộng của danh sách đó.

Kiến thức cần có

  • Hàm input() và hàm print()
  • Cấu trúc lặp trong Python
  • Cấu trúc rẽ nhánh trong Python
  • Biến và kiểu dữ liệu
  • Hàm trong Python
  • Xử lý ngoại lệ (Exception Handling)
  • Các phương thức xử lý List trong Python:
  • split()
  • len()
  • sum()

Định dạng đầu vào

Gồm một dòng duy nhất chứa các phần tử là số thực của danh sách, các phần tử cách nhau bởi khoảng trắng

Định dạng đầu ra

Gồm một dòng duy nhất hiển thị trung bình cộng của danh sách.

Lưu ý: Nếu danh sách rỗng thì xuất thông báo: Danh sach rong

              Nếu phần tử không phải là số thực thì xuất thông báo: Vui long nhap cac phan tu la so thuc!

Ví dụ

5 6 3.6 7.8 5.6 100 100.0 #nothing Danh sach rong 4 3$ 5 kteam 8.9 3.3.4 Vui long nhap cac phan tu la so thuc!

Gợi ý

  • Định nghĩa hàm trung_binh_cong với tham số là danh sách số thực:
  • Sử dụng hàm sum() để tính tổng các phần tử của danh sách
  • Sử dụng hàm len() để lấy số phần tử của danh sách
  • Tính trung bình cộng bằng tổng chia cho số phần tử
  • Trả về giá trị trung bình cộng
  • Dùng hàm input() và hàm split() để nhập dòng đầu tiên từ bàn phím và cắt chúng thành danh sách các phần tử
  • Sử dụng cấu trúc rẽ nhánh và hàm len() để kiểm tra xem có phải là danh sách rỗng không. Xuất thông báo lỗi nếu có.
  • Sử dụng cấu trúc Xử lý ngoại lệ để xử lý các trường hợp gây ra lỗi khi ép kiểu dữ liệu
  • Đặt chương trình trong khối try.
  • Dùng hàm list() map() để ép kiểu dữ liệu của các phần tử sang số thực và trả về danh sách các số thực
  • Gọi hàm trung_binh_cong và truyền vào tham số cần thiết.
  • Dùng hàm print() hiển thị giá trị trung bình cộng ra màn hình
  • Lỗi sẽ phát sinh ở lệnh ép kiểu nếu định dạng đầu vào không hợp lệ. Dùng lệnh except để bắt lỗi:
  • Dùng hàm print() hiển thị thông báo lỗi ra màn hình

Code mẫu

def trung_binh_cong(danhSach): tongDanhSach = sum(danhSach) soPhanTu = len(danhSach) trungBinhCong = tongDanhSach/soPhanTu return trungBinhCong #Nhap danh sach tu ban phim danhSach = input().split() #Kiem tra xem danh sach co rong hay khong if len(danhSach) == 0: print("Danh sach rong") else: #Khoi lenh co the phat sinh loi try: #Ep kieu du lieu sang so thuc danhSachSo = list(map(float, danhSach)) #Goi thuc thi ham va truyen tham so cho ham trungBinhCong = trung_binh_cong(danhSachSo) print(trungBinhCong) #Khoi lenh duoc thuc thi khi loi xay ra except: print("Vui long nhap cac phan tu la so thuc!")

Kết luận

Trong bài này, Kteam đã hướng dẫn bạn cách viết hàm với tham số truyền vào là một danh sách các số thực. Trả về trung bình cộng của danh sách đó. Thêm bài giải của bạn vào phần bình luận để được Kteam review code và fix lỗi (nếu có) trong livestream của khóa học này.

Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách VIẾT HÀM TRẢ VỀ PHẦN TỬ CÓ GIÁ TRỊ NHỎ NHẤT KHÔNG DÙNG HÀM MIN. (VỚI THAM SỐ LÀ DANH SÁCH SỐ PHẬN).

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!"

Tải xuống

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!

Nhập điểm trung bình của một học sinh là một số thức Python

Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Hãy luôn nhớ cảm ơnvote 5*
nếu câu trả lời hữu ích nhé!

XEM GIẢI BÀI TẬP SGK TIN 11 - TẠI ĐÂY

Nhập điểm trung bình của một học sinh là một số thức Python
Đặt câu hỏi

Hay nhất

Chào em,

Em xem không hiểu phần nào thì có thể hỏi anh nhé! Anh đã giải thích trong code rồi. Mình sẽ khởi tạo 4 biến để lưu số lượng từng xếp loại, sau đó cho người dùng nhập điểm từng người, nhập đến đâu thì kiểm tra xem điểm thuộc xếp loại nào đến đó. Cuối cùng in kết quả 4 biến ra là xong.

Chạy thử tại đây:https://replit.com/@baoc75/DimgrayHonoredSequence#main.py

n = int(input("Nhap so luong hoc sinh: "))

gioi = 0

kha = 0

tb = 0

yeu = 0

for i in range(1,n+1):

diem = float(input("Nhap diem hoc sinh thu " + str(i) + ":")) #Nhap vao diem la kieu so thuc

diem = round(diem, 1) #lam tron diem 1 chu so hang thap phan

if diem >= 8:

gioi = gioi + 1

else:

if diem >= 6.5 and diem <= 7.9:</p>

kha = kha + 1

else:

if diem >= 5.0 and diem <= 6.4:</p>

tb = tb + 1

else:

yeu = yeu + 1

print("So hoc sinh gioi: ", gioi)

print("So hoc sinh kha: ", kha)

print("So hoc sinh tb: ", tb)

print("So hoc sinh yeu: ", yeu)

Chúc em học tốt!

Đề bài: Nhập vào điểm thi môn Toán, môn Lý và môn Hóa của một học sinh THPT. Tính giá trị trung bình của 3 đầu điểm này và phân chia theo từng mức khác nhau.


Yêu cầu kiến thức:

  • Vận dụng cách sử dụng câu lệnh if … elif … trong ngôn ngữ lập trình Python để phân chia thành nhiều trường hợp khác nhau

Code tham khảo dưới đây được viết trên Python ver 3.8:

# Ho ten: Hoang Van Tuan # Website: timoday.edu.vn # Nhap du lieu diemToan = float(input('Nhap vao diem toan: ')) diemLy = float(input('Nhap vao diem ly: ')) diemHoa = float(input('Nhap vao diem hoa: ')) # Tinh gia tri trung binh cong tbc = (diemToan + diemLy + diemHoa) / 3 xepLoai = 'Xep loai: ' # Phan chia truong hop xep loai hoc sinh if tbc <=>


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

Hãy sử dụng hàm trong Python để viết chương trình tính điểm trung bình của học sinh và in kết qua ra màn hình console. Bắt buộc phải sử dụng hàm để giải bài này.

Chi tiết chương trình như sau:

  • Nhập vào điểm các môn Toán, Lý, Hóa, Văn, Anh
  • Tính điểm trung bình dựa vào 5 môn đó.

Nếu:

  • Điểm trung bình bé hơn 5 thì học lực yếu
  • Điểm trung bình từ 5 - 6.9 thì học lực trung bình
  • Điểm trung bình từ 7 - 8.9 là học lực khá
  • Điểm trung bình từ 9 - 10 là học lực giỏi

Nhập điểm trung bình của một học sinh là một số thức Python

Bài giải

-------------------- ######## --------------------

Để giải bài tính điểm trung bình này bằng Python thì bạn phải sử dụng một số kiến thức gồm:

Nhập điểm trung bình của một học sinh là một số thức Python

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

  • Lệnh rẻ nhánh if else
  • Các toán tử tính toán như cộng / trừ / nhân / chia
  • Đặc biệt là sử dụng hàm.

Tham khảo bài giải sau:

""" HỌC PYTHON TẠI FREETUTS.NET AUTHOR: CƯỜNG NGUYỄN """ print("Chương trình tính điểm trung bình của học sinh") toan = 0; ly = 0; hoa = 0; van = 0; anh = 0 def nhap_diem(): """Hàm yêu cầu nhập điểm và trả về giá trị trung bình""" # Bước 1: Nhập dữ liệu print("Nhập điểm môn toán: ") toan = float(input()) print("Nhập điểm môn Lý: ") ly = float(input()) print("Nhập điểm môn Hóa: ") hoa = float(input()) print("Nhập điểm môn Văn: ") van = float(input()) print("Nhập điểm môn Anh: ") anh = float(input()) # Bước 2: Tính điểm trung bình trungbinh = (toan + ly + hoa + van + anh) / 5 return trungbinh def in_ket_qua(diem): """Hàm in kết quả lên màn hình""" print("Điểm trung bình là: ", trungbinh) if (diem < 5): print("Học lực yếu"); elif (diem >= 5 and diem < 7): print("Học lực trung bình") elif (diem >= 7 and diem < 9): print("Học lực khá") elif (diem >= 9): print("Học lực giỏi") # Sử dụng hàm trungbinh = nhap_diem() in_ket_qua(trungbinh)

Và đây là kết quả khi mình test dữ liệu.

Nhập điểm trung bình của một học sinh là một số thức Python

Bài viết này được đăng tại [free tuts .net]

Câu hỏi thường gặp liên quan:

Cùng chuyên mục: