Lấy ví dụ nhập và xuất mảng 1 chiều ở python ???
Hôm nay, chúng ta sẽ cùng nhau tìm hiểu cách nhập và xuất mảng một chiều trong Python. Đây là một kiến thức rất cơ bản nhưng cực kỳ quan trọng, giúp chúng ta làm việc với nhiều dữ liệu cùng lúc. Thầy sẽ hướng dẫn các em từng bước thật chi tiết, giống như trong Sách giáo khoa Tin học lớp 11 của chúng ta vậy.
Mảng một chiều là gì?
Trước hết, chúng ta cần hiểu mảng một chiều là gì. Hãy tưởng tượng các em có một dãy các ô cửa, mỗi ô có thể chứa một đồ vật. Mảng một chiều cũng tương tự như vậy, nó là một dãy các phần tử có cùng kiểu dữ liệu, được sắp xếp theo một thứ tự nhất định và có thể truy cập bằng chỉ số.
Trong Python, chúng ta thường sử dụng “list” (danh sách) để biểu diễn mảng một chiều.
Bước 1: Nhập mảng một chiều từ bàn phím
Giả sử thầy muốn nhập vào một dãy điểm kiểm tra của các bạn trong lớp.
1. Khởi tạo một danh sách rỗng: Để lưu trữ các điểm số, chúng ta cần tạo ra một “thùng chứa” trước. Trong Python, chúng ta dùng cặp dấu ngoặc vuông \([]\) để tạo một danh sách rỗng.
Ví dụ:
\(diem_kiem_tra = []\)
2. Quyết định số lượng phần tử: Chúng ta cần biết mình sẽ nhập bao nhiêu điểm. Giả sử thầy muốn nhập 5 điểm.
Ví dụ:
\(so_luong = 5\)
3. Sử dụng vòng lặp để nhập từng phần tử: Chúng ta sẽ lặp lại thao tác nhập điểm cho đủ số lượng đã quy định. Vòng lặp \(for\) là lựa chọn phù hợp ở đây.
* Chúng ta sẽ lặp từ \(0\) đến \(so_luong – 1\). Mỗi lần lặp, chúng ta sẽ:
* Yêu cầu người dùng nhập một giá trị (điểm số). Hàm \(input()\) sẽ giúp chúng ta làm điều này.
* Vì \(input()\) trả về một chuỗi ký tự, chúng ta cần chuyển đổi nó thành số nguyên (hoặc số thực tùy theo yêu cầu). Ở đây, thầy giả định điểm là số nguyên, nên dùng hàm \(int()\).
* Thêm giá trị vừa nhập vào danh sách \(diem_kiem_tra\) bằng phương thức \(.append()\).
Ví dụ đoạn code:
\(for i in range(so_luong):\)
\( nhap_diem = input(f”Nhập điểm thứ {i+1}: “)\)
\( diem = int(nhap_diem)\)
\( diem_kiem_tra.append(diem)\)
Giải thích thêm:
* \(range(so_luong)\) sẽ tạo ra một dãy số từ 0 đến \(so_luong – 1\). Ví dụ, nếu \(so_luong\) là 5, nó sẽ là 0, 1, 2, 3, 4.
* \(f”Nhập điểm thứ {i+1}: “\) là một chuỗi định dạng. Nó cho phép chúng ta chèn giá trị của biến \(i\) (cộng thêm 1 để hiển thị là điểm thứ 1, thứ 2…) vào trong chuỗi hiển thị trên màn hình.
* \(int(nhap_diem)\): Chuyển đổi chuỗi nhập vào thành số nguyên. Nếu người dùng nhập sai định dạng (ví dụ: nhập chữ), chương trình sẽ báo lỗi.
* \(diem_kiem_tra.append(diem)\): Thêm phần tử \(diem\) vào cuối danh sách \(diem_kiem_tra\).
Bước 2: Xuất mảng một chiều ra màn hình
Sau khi đã nhập xong, chúng ta muốn xem các điểm số đó.
1. Sử dụng vòng lặp để duyệt qua từng phần tử: Tương tự như lúc nhập, chúng ta sẽ dùng vòng lặp \(for\) để đi qua từng phần tử trong danh sách \(diem_kiem_tra\).
* Mỗi lần lặp, chúng ta sẽ lấy ra một phần tử và in nó ra màn hình bằng hàm \(print()\).
Ví dụ đoạn code:
\(print(“Danh sách điểm kiểm tra đã nhập là:”)\)
\(for diem in diem_kiem_tra:\)
\( print(diem)\)
Giải thích thêm:
* Vòng lặp \(for diem in diem_kiem_tra:\) là một cách rất gọn gàng trong Python để duyệt qua từng phần tử của một danh sách. Với mỗi lần lặp, biến \(diem\) sẽ lần lượt nhận giá trị của từng phần tử trong \(diem_kiem_tra\).
Kết hợp lại thành một chương trình hoàn chỉnh:
Đây là toàn bộ mã nguồn để thực hiện việc nhập và xuất mảng một chiều:
\(# Bước 1: Nhập mảng một chiều\)
\(diem_kiem_tra = []\)
\(so_luong = 5 # Giả sử nhập 5 điểm\)
\(print(“— Nhập điểm kiểm tra —“)\)
\(for i in range(so_luong):\)
\( while True:\)
\( try:\)
\( nhap_diem = input(f”Nhập điểm thứ {i+1}: “)\)
\( diem = int(nhap_diem)\)
\( if 0 <= diem <= 10:\) # Kiểm tra điểm hợp lệ (ví dụ thang điểm 10)
\( diem_kiem_tra.append(diem)\)
\( break # Thoát khỏi vòng lặp while nếu nhập đúng\)
\( else:\)
\( print(“Điểm không hợp lệ! Vui lòng nhập lại điểm từ 0 đến 10.”)\)
\( except ValueError:\)
\( print(“Định dạng không hợp lệ! Vui lòng chỉ nhập số nguyên.”)\)
\(# Bước 2: Xuất mảng một chiều\)
\(print(“\n— Danh sách điểm kiểm tra —“)\)
\(print(“Các điểm đã nhập là:”)\)
\(for diem in diem_kiem_tra:\)
\( print(diem)\)
\(# Một cách xuất khác gọn hơn (in cả danh sách)\)
\(print(“\nIn cả danh sách dưới dạng list:”)\)
\(print(diem_kiem_tra)\)
Lưu ý quan trọng:
Trong ví dụ trên, thầy đã thêm một chút cải tiến nhỏ để chương trình “thông minh” hơn một chút:
* Khối \(try-except\): Giúp chương trình không bị dừng đột ngột nếu người dùng nhập sai định dạng (ví dụ nhập chữ thay vì số).
* Kiểm tra giá trị nhập vào: Thầy thêm điều kiện \(if 0 <= diem <= 10:\) để đảm bảo điểm nhập vào nằm trong khoảng hợp lệ.
Các em có thể thay đổi \(so_luong\) để nhập số lượng phần tử tùy ý.
Tổng kết:
Để nhập mảng một chiều trong Python, chúng ta thường tạo một danh sách rỗng, sau đó sử dụng vòng lặp \(for\) kết hợp với \(input()\) và \(.append()\) để thêm các phần tử vào danh sách.
Để xuất mảng một chiều, chúng ta cũng dùng vòng lặp \(for\) để duyệt qua từng phần tử và sử dụng \(print()\) để hiển thị chúng.
Các em hãy thử thực hành lại đoạn code này trên máy tính của mình nhé. Nếu có bất kỳ câu hỏi nào, đừng ngần ngại hỏi thầy!
Chúc các em học tốt!
Mốc : 3333
Cách 1 : cách newbie
n = int(input())
a = []
for i in range(n):
s = int(input())
a.append(s)
Cách 2 : nhập trên 1 dòng,không có tham số
a = [int(x) for x in input().split()]
Cách 2.1 : chả biết gọi sao nữa
a = list(map(int,input().split()))
Cách 3 : nhập các phần tử cách nhau một dòng
n = int(input())
a=[int(input()) for i in range(n)]
*Xuất : dòng lặp (ví dụ dùng for) :
a = [2,3,4,5]
for i in range(len(a)):
print(a[i],end=’ ‘)
* Xuất : hàm print(<tên mảng>);
VD:
a = [2,3,4,5]
print(a)