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
- Đọc dữ liệu bằng input()
- Đổi kiểu bằng int(), float(), str()
- Hiểu khác biệt giữa / và //, %
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
- Dòng 1: đọc dòng đầu "7", đổi thành số 7, gán vào a.
- Dòng 2: đọc dòng thứ hai "2", đổi thành số 2.
- Dòng 3: 7 + 2 = 9.
- Dòng 4: 7 / 2 = 3.5 (luôn ra số thực).
- 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à 3Cộ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.5int() 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
- input() luôn trả về chuỗi.
- int(), float() đổi chuỗi sang số.
- / cho số thực, // lấy phần nguyên, % lấy phần dư.
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í