Giới thiệu về thực thi và mã hóa
Khi Python interpreter đọc và thực thi các tệp nguồn .py, nó sẽ xử lý nội dung dựa trên bộ mã hóa ký tự. Mặc dù các phiên bản cũ thường mặc định là ASCII, chuẩn hiện đại khuyến nghị sử dụng UTF-8 để hỗ trợ đa ngôn ngữ. Câu lệnh cơ bản nhất để hiển thị thông tin ra màn hình là print.
print("Xin chào thế giới")
Biến và nhập xuất dữ liệu
Trong lập trình, việc khai báo biến không cần chỉ định kiểu dữ liệu tường minh. Biến có thể được gán giá trị và tham chiếu lẫn nhau. Dưới đây là ví dụ về việc gán biến và in ra màn hình:
full_name = "Nguyen Van A"
reference_name = full_name
print("Ten nguoi dung:", full_name, reference_name)
Để tương tác với người dùng, chúng ta sử dụng hàm input() để nhận dữ liệu đầu vào. Dữ liệu nhận được luôn ở dạng chuỗi, do đó cần ép kiểu nếu muốn thực hiện các phép toán số học.
user_name = input("Ten dang nhap: ")
user_age = int(input("Tuoi: ")) # Ep kieu sang so nguyen
print(type(user_age))
print(type(str(user_age))) # Ep kieu ve chuoi
occupation = input("Nghe nghiep: ")
Các phương thức định dạng chuỗi
Python hỗ trợ nhiều cách để chèn biến vào chuỗi ký tự. Dưới đây là ba phương pháp phổ biến.
Phương thức 1: Sử dụng toán tử %
Các ký tự đặc biệt như %s (chuỗi), %d (số nguyên), %f (số thực) được dùng làm chỗ giữ chỗ.
info_template = '''
========== Thong tin %s ==========
Ho ten: %s
Tuoi: %d
Nghe nghiep: %s
'''
output = info_template % (user_name, user_name, user_age, occupation)
print(output)
Phương thức 2: Sử dụng hàm .format() với tên biến
Cách này giúp code dễ đọc hơn bằng cách đặt tên cho các chỗ giữ chỗ.
info_template_v2 = '''
========== Thong tin {_name} ==========
Ho ten: {_name}
Tuoi: {_age}
Nghe nghiep: {_job}
'''
output_v2 = info_template_v2.format(_name=user_name, _age=user_age, _job=occupation)
print(output_v2)
Phương thức 3: Sử dụng hàm .format() với chỉ số
Sử dụng vị trí của biến trong hàm format để điền vào chuỗi.
info_template_v3 = '''
========== Thong tin {0} ==========
Ho ten: {0}
Tuoi: {1}
Nghe nghiep: {2}
'''
output_v3 = info_template_v3.format(user_name, user_age, occupation)
print(output_v3)
Xử lý logic đăng nhập đơn giản
Chúng ta có thể xây dựng một kịch bản xác thực đơn giản bằng cách so sánh dữ liệu đầu vào với giá trị đã định nghĩa trước.
admin_user = 'kevm'
admin_pass = '123456'
input_user = input("Ten dang nhap: ")
input_pass = input("Mat khau: ")
if admin_user == input_user and admin_pass == input_pass:
print("Chao mung {name} da dang nhap...".format(name=input_user))
else:
print("Ten dang nhap hoac mat khau khong hop le", input_pass)
Vòng lặp While và điều kiện dừng
Vòng lặp while sẽ tiếp tục thực thi miễn là điều kiện còn đúng. Chúng ta có thể sử dụng break để thoát khỏi vòng lặp vô hạn khi đạt đủ số lần yêu cầu.
counter = 0
while True:
print("Lan lap:", counter)
counter += 1
if counter == 1000:
break # Thoat vong lap khi dem den 1000
Trò chơi đoán số với giới hạn lần thử
Kết hợp vòng lặp và điều kiện rẽ nhánh để tạo logic game. Người dùng có 3 cơ hội để đoán đúng một con số bí mật.
target_age = 56
attempt = 0
while attempt < 3:
guess = int(input("Doan tuoi: "))
if guess == target_age:
print("Chuc mung, ban doan dung!")
break
elif guess > target_age:
print("Hay thu so nho hon...")
else:
print("Hay thu so lon hon...")
attempt += 1
else:
print("Ban da thu qua nhieu lan. Ket thuc.")
Chúng ta cũng có thể sử dụng vòng lặp for kết hợp với range để giới hạn số lần chạy ngay từ đầu.
for i in range(3):
guess = int(input("Doan tuoi: "))
if guess == target_age:
print("Chuc mung, ban doan dung!")
break
elif guess > target_age:
print("Hay thu so nho hon...")
else:
print("Hay thu so lon hon...")
else:
print("Ban da thu qua nhieu lan. Ket thuc.")
Logic chơi lại và điều khiển vòng lặp
Để tăng tính tương tác, chúng ta có thể hỏi người dùng muốn tiếp tục hay không sau khi hết lượt chơi.
target_age = 56
count = 0
while count < 3:
guess = int(input("Doan tuoi: "))
if guess == target_age:
print("Chuc mung, ban doan dung!")
break
elif guess > target_age:
print("Hay thu so nho hon...")
else:
print("Hay thu so lon hon...")
count += 1
if count == 3:
confirm = input("Ban co muon tiep tuc khong? (Nhap n de dung): ")
if confirm != 'n':
count = 0
Vòng lặp For và bước nhảy
Hàm range cho phép xác định điểm bắt đầu, kết thúc và bước nhảy. Ví dụ dưới đây chỉ in các số chẵn.
for i in range(0, 10, 2):
print("Vong lap:", i)
Sử dụng Continue và Break
continue dùng để bỏ qua phần còn lại của lần lặp hiện tại và chuyển sang lần tiếp theo. break dùng để thoát hoàn toàn khỏi vòng lặp.
for i in range(10):
if i < 3:
print("Vong lap:", i)
else:
continue
print("Hehe!!")
Vòng lặp lồng nhau
Chúng ta có thể đặt một vòng lặp bên trong một vòng lặp khác. Câu lệnh break chỉ ảnh hưởng đến vòng lặp gần nhất.
for i in range(10):
print('---------------', i)
for j in range(10):
print(j)
if j > 5:
break # Thoat vong lap con khi j > 5