PyPython Lab

Giai đoạn 1 · 20 phút · Miễn phí

Nhập dữ liệu với input()

Đọc dữ liệu người dùng gõ vào bằng input(), đổi chuỗi sang số bằng int() và float(), phép chia / và //.

Mục tiêu

Vì sao cần học

Chương trình hữu ích phải nhận dữ liệu từ người dùng: nhập tên, nhập điểm, nhập số tiền. input() làm việc này.

Khái niệm

input() đọc một dòng người dùng gõ vào và LUÔN trả về chuỗi (str), kể cả khi họ gõ số.

Muốn tính toán phải đổi sang số: int(input()) cho số nguyên, float(input()) cho số thực.

Phép chia / luôn cho kết quả float (7 / 2 = 3.5, 6 / 2 = 3.0). Phép // chia lấy phần nguyên (7 // 2 = 3), phép % lấy phần dư (7 % 2 = 1).

Trên Python Lab, dữ liệu nhập được lấy từ ô "Dữ liệu vào", mỗi dòng là một lần input().

Cú pháp

ten = input()
n = int(input())
x = float(input())

Ví dụ

a = int(input())
b = int(input())
print("Tổng:", a + b)
print("Thương:", a / b)
print("Dư:", a % b)

Dữ liệu nhập:

7
2

Kết quả:

Tổng: 9
Thương: 3.5
Dư: 1

Giải thích từng dòng

  1. Dòng 1: đọc dòng đầu "7", đổi thành số 7, gán vào a.
  2. Dòng 2: đọc dòng thứ hai "2", đổi thành số 2.
  3. Dòng 3: 7 + 2 = 9.
  4. Dòng 4: 7 / 2 = 3.5 (luôn ra số thực).
  5. Dòng 5: 7 chia 2 dư 1.

Lỗi thường gặp

a = input()
print(a + 1)

a là chuỗi, không cộng được với số: TypeError.

a = int(input())
a = input()
b = input()
print(a + b)  # nhập 2 và 3

Cộng hai chuỗi là nối chuỗi, in ra 23 chứ không phải 5.

Dùng int(input()) cho cả hai.
n = int(input())  # người dùng gõ 2.5

int() không đổi được chuỗi có dấu chấm: ValueError.

Dùng float(input()) khi dữ liệu có thể là số thực.

Tóm tắt

Luyện tập 2 bài và 3 câu hỏi nhanh

Viết code ngay trên trình duyệt, máy chấm chạy Python thật và chỉ đúng dòng sai bằng tiếng Việt.

Vào luyện tập miễn phí