1. Xuất dữ liệu với print() và nhập với input()
print() dùng để hiển thị nội dung ra màn hình. Ví dụ:
print("Hello World!") # Kết quả hiển thị: Hello World!
Hàm này rất hữu ích khi debug để kiểm tra kết quả xử lý.
input() cho phép người dùng nhập dữ liệu từ bàn phím:
a = input()
print(a)
Khi chạy, chương trình sẽ dừng lại chờ nhập. Sau khi gõ "Hello World" và nhấn Enter, giá trị đó được in ra. Tuy nhiên, input() ít được dùng trong thực tế vì các ứng dụng thường có giao diện nhập liệu trực quan hơn.
Có thể cải thiện thông báo cho người dùng:
a = input('Nhập nội dung bạn muốn: ')
print('Bạn đã nhập:', a)
2. Chuyển đổi kiểu dữ liệu
Sử dụng int(), str(),... để chuyển đổi giữa các kiểu.
a = 123
b = '6'
c = str(a) # '123'
d = int(b) # 6
Lưu ý: Khi chuyển chuỗi sang số, chuỗi đó phải biểu diễn đúng giá trị số, nếu không sẽ báo lỗi.
Dùng type() để kiểm tra kiểu dữ liệu:
print(type(c)) # <class 'str'>
print(type(d)) # <class 'int'>
3. Phép cộng và nhân chuỗi
Phép + dùng để nối chuỗi, phép * dùng để lặp lại chuỗi.
a = 'I love '
b = 'Python'
print(a + b) # I love Python
c = 'Python\n' # \n là ký tự xuống dòng
print(c * 3)
# Python
# Python
# Python
4. Ký tự thoát và chuỗi thô
Để hiển thị các ký tự đặc biệt như dấu nháy hoặc backslash, ta dùng dấu \ để thoát.
Chuỗi thô (raw string) với tiền tố r'' giúp bỏ qua hiệu ứng của ký tự thoát.
# In ra: Anh ấy nói: "Python nằm ở D:\Data\new\folder"
# Cách 1: Dùng raw string
print(r'Anh ấy nói: "Python nằm ở D:\Data\new\folder"')
# Cách 2: Dùng ký tự thoát
print('Anh ấy nói: "Python nằm ở D:\\Data\\new\\folder"')
5. Câu lệnh điều kiện
weight = int(input('Nhập cân nặng (kg): '))
height = int(input('Nhập chiều cao (cm): '))
bmi = weight / ((height / 100) ** 2)
if bmi < 18.5:
print('Thiếu cân')
else:
if bmi <= 25:
print('Bình thường')
else:
if bmi <= 28:
print('Thừa cân')
else:
if bmi <= 32:
print('Béo phì')
else:
print('Rất béo phì')
Chú ý: Thụt lề (indentation) quyết định cấu trúc khối lệnh trong Python.
6. Vòng lặp for
# Tính tổng các số chẵn từ 0 đến 100
sum_even = 0
for i in range(101):
if i % 2 == 0:
sum_even += i
print(sum_even)
# Tính tổng các số chia 3 dư 1 từ 0 đến 100
sum_mod3_1 = 0
for i in range(101):
if i % 3 == 1:
sum_mod3_1 += i
print(sum_mod3_1)
range(n) sinh dãy số từ 0 đến n-1.
7. Danh sách (list)
# Đổi chỗ hai phần tử 'abcd' và 'lên núi đánh hổ'
data = [1, 2, 3.3, 'abcd', 5, 'lên núi đánh hổ']
data[3], data[5] = data[5], data[3]
print(data)
# Kết quả: [1, 2, 3.3, 'lên núi đánh hổ', 5, 'abcd']
# Tách danh sách thành 2 loại: số và chuỗi
data = [1, 2, 3.3, 'abcd', 5, 'lên núi đánh hổ']
numbers = []
strings = []
for item in data:
if isinstance(item, str):
strings.append(item)
else:
numbers.append(item)
print(numbers) # [1, 2, 3.3, 5]
print(strings) # ['abcd', 'lên núi đánh hổ']
append() thêm phần tử vào cuối danh sách. Nếu thêm một danh sách con, nó sẽ là một phần tử lồng nhau.
# Làm phẳng danh sách [1,2,[3,4]] thành [1,2,3,4]
result = []
original = [1, 2, [3, 4]]
for element in original:
if isinstance(element, list):
for sub in element:
result.append(sub)
else:
result.append(element)
print(result) # [1, 2, 3, 4]
8. Tập hợp (set)
# Loại bỏ phần tử trùng trong danh sách
data = ['1', '2', '1', '3', '4', '4', '5', '5', '6', '2', '3', '6']
# Cách 1: Dùng set
unique_list = list(set(data))
print(unique_list) # Kết quả có thể không theo thứ tự
# Cách 2: Duyệt thủ công
unique = []
for item in data:
if item not in unique:
unique.append(item)
print(unique) # Giữ nguyên thứ tự
Điểm mạnh của set là tự động loại bỏ các phần tử trùng lặp, thường được dùng cho mục đích này.