Thứ Sáu, 10 tháng 5, 2024

10. Nhập xuất dữ liệu trong Python

Hãy hình dung một vài tình huống quen thuộc:

  • Bạn dùng bàn phím để Nhập văn bản, bài viết...vào chương trình Microsoft Word, sau đó bạn bấm lệnh Print để Xuất văn bản, bài viết đó ra máy in và in nó ra giấy.
  • Bạn dùng điện thoại iPhone để Nhập tin nhắn, sau đó bạn bấm Send để Xuất tin nhắn qua máy của người thân, bạn bè.
  • Bạn đăng nhập vào Facebook bằng cách Nhập tên và mật khẩu, Facebook sẽ Xuất ra trả lời là sai mật khẩu nếu bạn nhập sai mật khẩu, hoặc Xuất ra màn hình chính của Facebook nếu bạn đăng nhập thành công.
  • Bạn chơi games Candy Crush bằng cách Nhập một vị trí mới của các viên kẹo, chương trình sẽ Xuất ra màn hình kết quả tiếp theo.

Việc nhập xuất dữ liệu là công việc đầu tiên cần thành thạo khi bạn học một ngôn ngữ lập trình bất kỳ, phần này chúng ta sẽ phân tích cách sử dụng hàm print() input() trong Python để thực hiện 2 công việc nhập và xuất dữ liệu.


Dù mới trải qua phần làm quen, cưỡi ngựa xem hoa, nhưng chúng ta đã kịp "vọc" khá nhiều với hàm print từ chương trình Hello World! cho tới rất nhiều "chương trình vĩ đại" khác của chúng ta.

Nhắc lại về hàm:  Hàm là tập hợp những đoạn mã dùng để thực hiện một nhiệm vụ nào đó. Có những hàm được viết sẵn, có những hàm chúng ta cần phải viết. Muốn sử dụng hàm viết sẵn, ta phải dùng các lệnh tiền xử lý để gọi thư viện có chứa hàm đó.

Xuất dữ liệu:

Để in dữ liệu hay hiển thị kết quả ra màn hình bạn cần sử dụng hàm print() 

Cú pháp :  

 

print(object(s), sep=separator, end=end, file=file, flush=flush)


Trong đó :

    object(s): Bất kỳ đối tượng (Object) nào và bao nhiêu tùy thích. Sẽ được chuyển đổi thành chuỗi trước khi in

    sep='separator' : Tùy chọn. Chỉ định cách tách các đối tượng, nếu có nhiều hơn một đối tượng. Mặc định là ''.

    end='end' : Tùy chọn. Chỉ định những gì sẽ in ở cuối. Mặc định là '\n'

     file=file : Tùy chọn. Một đối tượng có phương thức viết. Mặc định là sys.stdout

     flush=flush : Tùy chọn. Một Boolean, chỉ định liệu đầu ra được xóa (Đúng) hay được đệm (Sai). Mặc định là sai

Chúng ta sẽ in dòng chữ...tào lao sau lên màn hình

print("Hello", "how are you?", sep="---", end="!!") 

Vẫn sử dụng IDE Online:


 

 

Nhập dữ liệu:

Hàm input() nhận giá trị của biến từ bàn phím.

Cú pháp : input(prompt)

Trong đó:

prompt: Là một chuỗi, một lời nhắc, thông báo

Mỗi khi nhập xong giá trị cho 1 biến bạn ấn enter thì giá trị này mới thật sự được gán cho biến tương ứng, có nghĩa là nếu chưa ấn enter, biến chưa được gán. Trong Python để nhập liệu từ bàn phím ta dùng hàm input(). Giá trị nhập vào của hàm input() thường là kiểu chuỗi, do đó ta cần chuyển kiểu nếu như muốn lưu trữ giá trị nhập vào không phải kiểu chuỗi.

Chúng ta sẽ thử với code sau:

 

print("Ten ban la gi:")
s=input()
print("Xin Chao:",s)
print("Xin Chao:" +s)
print("Kiểu dữ liệu:",type(s))
print("Hay nhap mot so nguyen:")
s=input()
print("Bạn nhập:",s)
print("Kiểu dữ liệu:",type(s))
print("Hay nhap mot so thuc:")
s=input()
print("Bạn nhập:",s)
print("Kiểu dữ liệu:",type(s))


Bấm Run để chạy chương trình



Ta nhận thấy:

  • print("Xin Chao:",s)print("Xin Chao:" +s) cho kết quả tương đối giống nhau, chỉ "khác một chút" là white space mà thôi
  • Dù chúng ta có nhập số nguyên, số thực hay chuỗi thì kiểu dữ liệu vẫn luôn là chuỗi str

Chúng ta sẽ tiếp tục với một giả thiết, ta cần tính toán "gì đấy", ví dụ cho hai số, tính tổng của chúng. Dễ mà! "Mần" thôi! Đây là code:

print("Hay nhap so thu nhat:")
s1=input()
print("Bạn nhập:",s1)

print("Hay nhap so thu hai:")
s2=input()
print("Bạn nhập:",s2)

s3 = s1 + s2
print("Tong hai so la:", s3)


Bấm Run để chạy thử, số 4 cộng với số 7 ra tổng là...47!



Vấn đề là mọi thứ nhập vào đều được input() cho thành chuỗi hết! Chuỗi "4" cộng với chuỗi "7" thành "47"!

Chúng ta cần ép kiểu dữ liệu cho đúng

 

 

Phần tiếp theo

Phần trước



 

 

 

Không có nhận xét nào:

Đăng nhận xét