Làm thế nào để bạn nhập một bảng chữ cái trong python?

Hãy cùng xem cách hoạt động của đoạn mã trên. Chúng ta sẽ xây dựng từng phần chức năng trên bằng cách xem qua các nguyên tắc chính giúp nó hoạt động

Để làm theo, bạn phải là một lập trình viên Python trung cấp/cao cấp. Đối với người mới bắt đầu, tôi khuyên bạn nên bỏ qua phần trình tạo ở cuối

Hàm ord[] trong Python

Trong Python, mỗi ký tự Unicode, chẳng hạn như “a”, “b” hoặc “c” là một số nguyên bên trong

Ví dụ, đây là bảng Unicode cho bảng chữ cái tiếng Anh

UnicodeCharacterUnicodeCharacterUnicodeCharacterUnicodeCharacter64@80P96`112p65A81Q97a113q66B82R98b114r67C83S99c115s68D84T100d116t69E85U101e117u70F86V102f118v71G87W103g119w72H88X104h120x73I89Y105i121y74J90Z106j122z75K91[107k123{76L92\108l124. 77M93]109m125}78N94^110n126~79O95_111o

Trong Python, bạn có thể kiểm tra giá trị nguyên của bất kỳ ký tự nào bằng hàm ord[] tích hợp

Chẳng hạn, hãy kiểm tra các giá trị Unicode cho “a”, “b” và “c”

ord["a"] # 97
ord["b"] # 98
ord["c"] # 99

Như bạn có thể thấy, điều này trả về các giá trị giống như trong bảng Unicode ở trên

Hàm chr[] trong Python

Trong Python, bạn có thể biến [một số] số nguyên thành ký tự

Điều này là tự nhiên vì như bạn đã học, mỗi ký tự là một con số ngầm

Trong Python, có một chức năng chr[] tích hợp sẵn. Điều này chuyển đổi một số nguyên thành một giá trị ký tự tương ứng

Chẳng hạn, hãy biến các số 110, 111 và 112 thành các ký tự

print[chr[110]]
print[chr[111]]
print[chr[112]]

đầu ra

n
o
p

Bây giờ bạn đã hiểu cách chuyển đổi một ký tự thành số nguyên và số nguyên trở lại ký tự

Điều này đưa chúng ta đến một điểm chính liên quan đến phạm vi ký tự trong Python. Một dải ký tự thực sự được tạo bằng cách sử dụng một dải số. Có thể chỉ vì chúng ta biết cách chuyển đổi các ký tự thành số nguyên và ngược lại

Ví dụ: bạn có thể tạo một dãy ký tự bằng cách sử dụng hàm range[] tích hợp sẵn và hàm ord[]

for number in range[ord["a"], ord["h"]]:
    print[number]

đầu ra

97
98
99
100
101
102
103

Nếu bạn muốn chuyển các số này về ký tự, hãy gọi hàm chr[] trên các giá trị số

for number in range[ord["a"], ord["h"]]:
    print[chr[number]]

đầu ra

a
b
c
d
e
f
g

Phạm vi bao gồm

Bây giờ bạn đã có một triển khai ngây thơ cho một loạt các ký tự trong Python

Nhưng trong ví dụ trên, phạm vi kết thúc ở “g” mặc dù nó phải kết thúc ở “h”. Điều này là do tính chất độc quyền của hàm range[], nghĩa là giá trị cuối cùng không được bao gồm trong phạm vi

Để khắc phục điều này, hãy thêm 1 vào cuối phạm vi. Nói cách khác, hãy mở rộng phạm vi thêm một để bao gồm giá trị "cuối cùng"

Ví dụ: hãy tạo một dãy ký tự từ “a” đến “h” sao cho có cả chữ “h”

for number in range[ord["a"], ord["h"] + 1]:
    print[chr[number]]

đầu ra

a
b
c
d
e
f
g
0

Chuyển vòng lặp For thành hàm

Bây giờ bạn có một vòng lặp for đơn giản để in các ký tự từ “a” đến “h”

Nhưng bạn rõ ràng muốn trở nên tổng quát hơn

Hãy sử dụng logic từ ví dụ trước để tạo một hàm trả về một dãy ký tự dưới dạng danh sách. Thay vì mã hóa cứng các chuỗi “a” và “h”, hãy làm cho hàm chấp nhận các đầu vào chung start và stop

a
b
c
d
e
f
g
1

Bây giờ, hãy gọi hàm này để tạo danh sách các ký tự giữa “a” và “l”

a
b
c
d
e
f
g
2

đầu ra

a
b
c
d
e
f
g
3

Và có cách triển khai ngây thơ của bạn cho hàm phạm vi ký tự

Trong khi đó, phương pháp này đã đáp ứng nhu cầu của bạn, hãy tiến thêm một bước nữa bằng cách sử dụng máy phát điện

Phương pháp tiếp cận máy phát điện

Cho đến nay, bạn đã triển khai một phạm vi ký tự bao gồm dưới dạng một hàm trả về danh sách các ký tự

Tuy nhiên, chức năng này lưu trữ tất cả các ký tự vào một danh sách trong bộ nhớ. Nhưng chúng ta có thực sự cần lưu trữ chúng không?

Không

Các nhân vật độc lập với nhau. Nghĩa là, giá trị của “a” không phụ thuộc vào giá trị của “b” hoặc bất kỳ ký tự nào khác trong phạm vi

Điều này có nghĩa là bạn có thể sử dụng trình tạo thay vì hàm để tạo phạm vi. Nói cách khác, bạn không lưu trữ toàn bộ chuỗi ký tự. Thay vào đó, bạn tạo từng cái một với chức năng tạo

Nếu bạn không quen thuộc với máy phát điện, vui lòng kiểm tra bài viết này

Nói tóm lại, hàm tạo không trả về giá trị. Thay vào đó, nó cung cấp cho bạn một đối tượng trình vòng lặp mang lại từng giá trị một mà không cần lưu trữ chúng. Điều này giúp tiết kiệm bộ nhớ khi chuỗi các mục có kích thước lớn. Phần tốt nhất của trình tạo là chúng cho phép cú pháp giống như vòng lặp. Điều này làm cho có vẻ như trình tạo đã lưu trữ các giá trị ngay cả khi nó không

Hãy chuyển đổi phạm vi chức năng ký tự thành trình tạo

a
b
c
d
e
f
g
4

Trình tạo này mang lại từng ký tự một

Như đã đề cập, bạn có thể sử dụng trình tạo này trong vòng lặp for giống như cách bạn làm với bất kỳ trình lặp nào khác trong Python

a
b
c
d
e
f
g
5

đầu ra

a
b
c
d
e
f
g
0

Thật tuyệt, chúng tôi gần như ở đó

biểu thức trình tạo

Để hoàn thành việc triển khai phạm vi ký tự, hãy thực hiện một chỉnh sửa nhỏ cuối cùng cho chức năng

Tương tự như khả năng hiểu danh sách, trình tạo Python hỗ trợ khả năng hiểu trình tạo [được gọi là biểu thức trình tạo]. Điều này cho phép bạn nén việc triển khai trình tạo thành tốc ký một dòng

Cú pháp chung cho một biểu thức trình tạo là

a
b
c
d
e
f
g
7

Biểu thức này tương đương với việc gọi trình tạo này

a
b
c
d
e
f
g
8

Như bạn có thể thấy, bạn tiết kiệm một số dòng mã và hoàn toàn không cần sử dụng câu lệnh năng suất. Đôi khi điều này có thể làm cho mã dễ đọc hơn và cải thiện chất lượng mã

Hãy áp dụng kiến ​​thức này vào trình tạo của chúng tôi để tạo phạm vi ký tự

Điều này biến máy phát điện hiện có

a
b
c
d
e
f
g
4

Thành một phiên bản tốc ký của nó

ord["a"] # 97
ord["b"] # 98
ord["c"] # 99
0

Đừng để câu lệnh return làm bạn bối rối ở đây. Hàm này vẫn trả về một trình vòng lặp mang lại từng ký tự trong phạm vi

Nếu phần máy phát điện nghe có vẻ ngớ ngẩn với bạn, vui lòng tự làm quen với máy phát điện. Phải mất một lúc để quấn đầu bạn xung quanh họ

Ngoài ra, hãy nhớ rằng phần cuối cùng này là tùy chọn. Tùy thuộc vào cuộc tranh luận liệu tốc ký có thực sự cải thiện chất lượng mã hay không

Có chức năng bảng chữ cái trong Python không?

Hàm isalpha[] là một hàm tích hợp được sử dụng để xử lý chuỗi trong python , hàm này kiểm tra xem một ký tự đầu vào có phải là một bảng chữ cái hay không hay tất cả các ký tự trong đầu vào .

Bạn có thể thêm vào các chữ cái trong Python không?

Để tăng một ký tự trong Python, chúng ta phải chuyển đổi nó thành một số nguyên và thêm 1 vào nó rồi chuyển số nguyên kết quả thành char. We can achieve this using the builtin methods ord and chr.

Chủ Đề