Nhập giá trị từ bàn phím trong Python sử dụng cấu trúc

Bài viết được sự cho phép của tác giả Kien Dang Chung

Trong một chương trình, chúng ta cần có sự tương tác giữa người dùng và chương trình máy tính. Từ các bài viết đầu tiên đến giờ chúng ta đã biết đến hàm print() để in một thông báo ra màn hình cho người dùng. Vậy làm cách nào để người dùng có thể đưa dữ liệu vào chương trình Python trên máy tính?

  Nên dùng gì thay cho input number

  Ràng buộc dữ liệu input với HTML5

Xem thêm nhiều việc làm Python hấp dẫn trên TopDev

Hàm input() trong Python sẽ dừng chương trình lại cho đến khi phím Enter được nhấn, nó trả về một chuỗi ký tự do người dùng nhập vào từ bàn phím (trước khi bấm Enter). Cú pháp của hàm input():

input([promt])

Trong đó [promt] là thông báo sẽ hiển thị ra màn hình, gợi ý thông tin người dùng cần nhập vào chương trình.

Ví dụ 1:

my_name = "Jose" your_name = input("Enter your name:") print(f"Hello {your_name}. My name is {my_name}")

Chú ý: Hàm input() trả về một chuỗi ký tự, ngay cả khi người dùng nhập vào một số thì nó cũng chuyển đổi thành chuỗi. Do đó, khi thực hiện các tính toán trên dữ liệu nhập vào, bạn cần chuyển đổi dạng từ chuỗi thành số.

Ví dụ 2:

age = input("Enter your age: ") x = int(age) print(f"You have lived for {x * 12} months.")

Trong ví dụ trên, chúng ta đã chuyển đổi chuỗi người dùng nhập vào thành một số nguyên thông qua hàm int(). Trong một số bài trước, bạn đã biết đến hàm str() để chuyển đổi một số thành một chuỗi.

Một số chú ý khi viết code:

  1. Tên biến nên sử dụng là các từ gợi nhớ, mô tả về nội dung biến, tránh đặt tên biến theo kiểu vô nghĩa như xxx, yyy…
  2. Nên tránh sử dụng biến bừa bãi, ví dụ biến chỉ dùng để tính toán 1 lần mà không sử dụng lại ở đâu khác trong code.

Với chú ý trên, đoạn code trong Ví dụ 2 có thể viết lại một cách tường minh như sau:

age = int(input("Enter your age: ")) months = age * 12 print(f"You have lived for {months} months.")

Trong ví dụ này, chúng ta có các hàm Python viết lồng vào nhau (nested), int(input()). Python cho phép viết các hàm lồng vào nhau nhiều cấp, tuy nhiên chúng ta chỉ nên sử dụng các hàm lồng nhau dưới 3 cấp để dễ đọc, bug lỗi cũng như bảo trì sau này.

Code trên Repl.it, bạn có thể thực hiện các đoạn code Python trực tuyến.

Bài viết gốc được đăng tải tại allaravel.com

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev

Để in dữ liệu ra màn hình ta sử dụng câu lện print(). Ví dụ

print('In dòng này ra màn hình ') a = 5 print('Giá trị được gán cho a là', a) input()

2. Nhập dữ liệu từ bàn phím

Để nhận một giá trị được nhập từ bàn phím ta sử dụng lệnh input(). Ví dụ: Viết chương trình tính tổng 2 số nguyên được nhập từ bàn phím.

num1 = int(input()) num2 = int(input()) sum = num1 + num2 print(sum) input()

Ghi chú: mặc định, nếu không khai báo kiểu dữ liệu nhập vào thì Python sẽ nhận giá trị nhập từ bàn phím ở dạng xâu (string). Vì vậy dể nhập số ta phải khai báo kiểu dữ liệu trước khi nhập như câu lệnh số 1 và câu lệnh số 2 ở chương trình trên.

3. Định dạng dữ liệu và thông báo

Hiện thông báo khi nhập và in:

num1 = input('Nhập số thứ nhất: ') num2 = input('Nhập số thứ hai: ') sum = int(num1) + int(num2) print('Tổng của hai số vừa nhập là:', sum) print('Tổng của {0} và {1} là {2}'.format(num1, num2, sum)) print('Tổng của {1} và {0} là {2}'.format(num1, num2, sum)) input()

Hãy xem sự khác nhau giữa 3 lệnh print() trên đây khi chạy chương trình. Câu lệnh print thứ 2 và 3 có sử dụng định dạng dữ liệu để lồng vào thông báo.

Kết quả chạy chương trình:

Nhập số thứ nhất: 5 Nhập số thứ hai: 9 Tổng của hai số vừa nhập là: 14.0 Tổng của 5 và 9 là 14.0 Tổng của 9 và 5 là 14.0