Làm thế nào để bạn chấp nhận cả chữ thường và chữ hoa trong python?

Chuỗi là một kiểu dữ liệu bao gồm các ký tự được đặt trong dấu ngoặc kép. Các ký tự này có thể là chữ cái, ký hiệu hoặc số

Trong Python, có nhiều cách khác nhau để làm việc với chuỗi. Các phương thức này là các hàm tích hợp thay đổi kết quả của chuỗi

Chẳng hạn, nếu tôi muốn in tên của mình với chữ cái đầu tiên được viết hoa, tôi sử dụng phương thức

for char in word:
0 để viết hoa chữ cái đầu tiên

Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách chuyển chữ hoa thành chữ thường mà không cần sử dụng phương thức có sẵn

Cách chuyển đổi một chuỗi thành chữ thường bằng cách sử dụng
for char in word:
1

Các chuỗi có thể bao gồm các ký tự khác nhau - một trong những ký tự đó là các chữ cái trong bảng chữ cái. Bạn có thể viết bảng chữ cái tiếng Anh dưới dạng chữ hoa hoặc chữ thường. Khi đổi một chuỗi thành chữ thường, nó chỉ áp dụng cho các chữ cái

Trong Python, có một phương thức tích hợp có thể thay đổi một chuỗi từ chữ hoa thành chữ thường. Nó cũng áp dụng cho các chuỗi có cả chữ hoa và chữ thường. Các ". Lower[] “ phương thức đổi chuỗi thành chữ thường

name = "BOB STONE"
print[name.lower[]] # >> bob stone
name1 = "Ruby Roundhouse"
print[name1.lower[]] # >> ruby roundhouse
name2 = "joHN Wick"
print[name2.lower[]] # >> john wick
name3 = "charlieNew"
print[name3.lower[]] # >> charlienew

Chúng ta có thể thấy trong khối mã trên, các biến lưu trữ mỗi chuỗi có chữ hoa. Sau đó với phương thức

for char in word:
1, nó chuyển đổi các chữ cái đó thành chữ thường

Các cách khác để chuyển đổi chuỗi Python thành chữ thường

Ngoài phương thức sẵn có “. Lower[]”, có nhiều cách khác nhau để chuyển chữ hoa thành chữ thường trong Python. Trong bài viết này, chúng ta sẽ xem xét hai cách khác nhau

Có hai cách để truy cập các chữ cái

  • sao chép chúng theo cách thủ công vào một danh sách hoặc
  • sử dụng chuẩn Unicode

Cách truy cập các chữ cái từ danh sách

Ý tưởng là lặp qua một danh sách các chữ cái và thay thế các chữ cái viết hoa trong một chuỗi bằng các chữ cái viết thường

Đầu tiên, tạo một biến lưu trữ đầu vào chấp nhận một chuỗi có chữ hoa

Sau đó, tạo một biến khác lưu trữ danh sách các chữ hoa và chữ thường

Cuối cùng, tạo biến cuối cùng lưu trữ một chuỗi rỗng, là nơi lưu trữ các chữ cái viết thường

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''

Trong danh sách trên ta thấy nó có chữ thường và chữ in hoa. Có 26 chữ cái trong bảng chữ cái tiếng Anh, nhưng chỉ mục trong danh sách bắt đầu từ 0, vì vậy số đếm của bảng chữ cái là 51 [cho cả chữ hoa và chữ thường]

Chúng ta cũng có thể thấy rằng các chữ thường được viết trước [bên trái] và các chữ hoa được viết sau [bên phải]. Chỉ số của chữ thường nằm trong khoảng từ 0 - 25, trong khi chỉ số của chữ hoa nằm trong khoảng từ 26 - 51

Tiếp theo, chúng tôi lặp qua từng ký tự trong chuỗi

for char in word:

for char in word:
3 là tên biến mới lưu trữ tất cả các ký tự từ biến
for char in word:
4

Có hai trường hợp chuỗi chúng ta sẽ chuyển đổi. Trường hợp đầu tiên là các chuỗi chỉ có chữ hoa và trường hợp thứ hai có các chuỗi có ký hiệu đặc biệt, chữ số, một số chữ thường và một số chữ hoa

TRƯỜNG HỢP I. chuỗi chỉ có chữ hoa

Để chuyển đổi các chữ hoa thành chữ thường, chúng ta phải tìm chỉ số của mỗi chữ cái được lưu trữ bởi biến

for char in word:
3 từ danh sách. Để tìm một chỉ mục, chúng tôi sử dụng ". chỉ số []" phương pháp

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
word = str[input["Enter a word: " ]]
for char in word:
    print[alphabet.index[char]]

# Results
# Enter a word: GIRL
# 32
# 34
# 43
# 37

In the above code, the indexes of the letters in the "GIRL" are printed.

Trong danh sách, chữ thường có chỉ số từ 0 - 25 và chữ hoa có chỉ số từ 26 - 51. Khi đặt điều kiện [câu lệnh "if"] ta bắt đầu kiểm tra xem chỉ số của chữ có lớn hơn '25' hay không vì chỉ số của chữ hoa đầu tiên bắt đầu từ '26'

To get the corresponding lowercase letters, we substract 26 from each uppercase index. When we get the indexes of the lowercase numbers, we use indexing [variable_name[index_number]] to find the corresponding letters. The lowercase letters are now added to the variable name that stores an empty string.

We return the variable by printing it outside the loop.

for char in word:
0

Đây là giao diện của mã khi chúng tôi kết hợp tất cả lại với nhau

for char in word:
1

TRƯỜNG HỢP II. chuỗi có ký hiệu đặc biệt, chữ số, chữ thường bên cạnh chữ hoa

Trước khi chuyển chữ hoa thành chữ thường ta cần kiểm tra một số điều kiện. Các điều kiện sẽ kiểm tra xem mỗi ký tự

for char in word:
3 từ từ

  • không phải là một lá thư
  • có cả chữ hoa và chữ thường trong từ. Nếu một số chữ cái trong từ là chữ thường, chúng sẽ được giữ nguyên

Sau những lần kiểm tra này, nó giả sử các ký tự còn lại là chữ in hoa

Để kiểm tra xem một ký tự có phải là chữ cái hay không, chúng ta sử dụng từ khóa “not in”. Để kiểm tra xem một ký tự có phải là chữ thường hay không, chúng tôi tìm chỉ mục và so sánh nó với số chữ cái viết thường cuối cùng trong danh sách

Again, lowercase letters have indexes from 0-25, and the index of the last lowercase letter is 25. These characters are added to the variable name that stores an empty string.

for char in word:
3

Trong khối mã trên, chúng tôi đã sử dụng phương pháp

for char in word:
7 để tìm vị trí của các chữ cái trong bảng chữ cái

Đối với các ký tự còn lại mà chúng ta giả sử là chữ in hoa thì trong danh sách các chữ cái, chỉ số của các chữ cái đó là từ 26 - 51. Để tìm các chỉ mục chữ thường tương ứng của chúng, chúng ta trừ đi 26 và sử dụng phương pháp

for char in word:
7 để tìm chữ cái

Lập chỉ mục = tên_biến[số_chỉ_số]. Chúng tôi thêm kết quả cuối cùng vào biến lưu trữ chuỗi rỗng

for char in word:
6

Sau đó, chúng tôi in chữ thường bên ngoài vòng lặp

for char in word:
7

Đây là giao diện của mã khi chúng tôi kết hợp tất cả lại với nhau

for char in word:
8

Cách truy cập các chữ cái bằng tiêu chuẩn Unicode

Unicode có nghĩa là tiêu chuẩn mã hóa ký tự phổ quát. theo unicode. tổ chức,

"Chuẩn Unicode cung cấp một số duy nhất cho mọi ký tự, bất kể nền tảng, thiết bị, ứng dụng hay ngôn ngữ nào. "

Nói một cách đơn giản, tất cả các chữ cái từ các ngôn ngữ khác nhau đều có một số duy nhất đại diện cho mọi ký tự có trong Unicode

Chúng tôi sử dụng hai phương thức khi làm việc với Unicode trong Python.

for char in word:
9 và
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
word = str[input["Enter a word: " ]]
for char in word:
    print[alphabet.index[char]]

# Results
# Enter a word: GIRL
# 32
# 34
# 43
# 37
0

  • thứ tự[]. hàm này chấp nhận các ký tự [chữ cái trong bất kỳ ngôn ngữ nào] và trả về số duy nhất theo tiêu chuẩn Unicode
  • chr[]. hàm này chấp nhận số nguyên và trả về ký tự tương đương theo tiêu chuẩn Unicode

Trước khi đi sâu vào giải thích mã, đây là biểu đồ chứa tất cả các số duy nhất cho bảng chữ cái tiếng Anh, cả chữ thường và chữ hoa

Biểu đồ ASCII đại diện cho các số duy nhất của bảng chữ cái tiếng Anh


Bây giờ chúng ta đã quen thuộc với Unicode là gì và cách truy cập các giá trị trong Python, hãy đi sâu vào

Đầu tiên, tạo một biến lưu trữ đầu vào chấp nhận một chuỗi có chữ hoa

Sau đó, tạo biến cuối cùng lưu trữ một chuỗi rỗng, là nơi lưu trữ các chữ cái viết thường

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
0

Sau đó, chúng tôi lặp qua từng ký tự trong chuỗi

for char in word:

for char in word:
3 là tên biến mới lưu trữ tất cả các ký tự từ biến
for char in word:
4

TRƯỜNG HỢP I. chuỗi chỉ chứa chữ in hoa

Before converting the uppercase letters to lowercase, we need to check if each character from the word is in uppercase.

Theo bảng mã Unicode, chữ A viết hoa có số “65”, chữ Z viết hoa có số “90”. Chúng tôi kiểm tra xem mỗi ký tự

for char in word:
3 trong
for char in word:
4 có số từ 65 đến 90 không. Nếu có, chúng là chữ in hoa

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
2

Hàm

for char in word:
9 trả về số duy nhất của mỗi chữ cái viết hoa

Để chuyển đổi chữ hoa thành chữ thường, chúng ta thêm sự khác biệt giữa cả hai trường hợp, “32”, cho mỗi số từ chữ hoa để có chữ thường

Ví dụ

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
3

Trong đoạn mã trên, 'a' là 97 trên biểu đồ unicode và 'A' là 65. Hiệu số của chúng là 32. Nếu chúng tôi muốn lấy giá trị của “a” trên biểu đồ, chúng tôi thêm 32 vào giá trị của A “65” và nhận được “97”

Vậy để chuyển thành chữ thường ta phải cộng 32 vào mỗi số của các chữ hoa để được các chữ thường tương ứng

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
4

Trong đoạn mã trên, chúng tôi lặp qua biến

for char in word:
4 để truy cập vào từng ký tự

Sau đó, chúng tôi kiểm tra xem mỗi ký tự trong biến

for char in word:
4 có một số duy nhất trong khoảng từ 65 đến 90 không. Nếu có, nó bao gồm các chữ cái viết hoa

Để được các chữ thường tương ứng, ta cộng 32. Kết quả ở trên in số lượng chữ thường duy nhất

Chúng ta có thể nối các số với các chữ cái của chúng bằng cách sử dụng hàm

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
word = str[input["Enter a word: " ]]
for char in word:
    print[alphabet.index[char]]

# Results
# Enter a word: GIRL
# 32
# 34
# 43
# 37
0

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
5

Bây giờ chúng ta thấy rằng các chữ cái được trả về là chữ thường. Để lấy các chữ cái trong một dòng ta thêm nó vào biến lưu chuỗi rỗng và trả về biến

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
6

Đây là những gì nó trông giống như khi chúng ta kết hợp tất cả lại với nhau

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
7

TRƯỜNG HỢP II. chuỗi có ký hiệu đặc biệt, chữ số, chữ thường bên cạnh chữ hoa

Đối với các chuỗi không phải là chữ cái và một số chữ cái viết thường, chúng tôi thêm câu lệnh 'else' để trả về các giá trị khi chúng xuất hiện trong chuỗi. Các chữ hoa sau đó được chuyển đổi thành chữ thường

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
8

Đây là những gì nó trông giống như khi chúng ta kết hợp tất cả lại với nhau

word = str[input["Enter a word: ” ]]

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

lowercase_letters = ''
9

Tôi biết phương pháp thứ hai tốn nhiều công sức nhưng nó cũng mang lại cho bạn kết quả, giống như phương pháp đầu tiên.

Bản tóm tắt

Trong bài viết này, bạn đã học về cách chuyển đổi các ký tự và chuỗi từ trường hợp này sang trường hợp khác. Chúng tôi cũng đã xem bảng ASCII.  

Phương pháp thứ hai hiệu quả và đơn giản hơn khi bạn biết cách sử dụng hai chức năng quan trọng. Các chỉ mục của các chữ cái được tích hợp sẵn trong Python, vì vậy không cần phải ghi nhớ chúng

Cảm ơn bạn đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Di sản Tantoluwa Alabi

Đọc thêm bài viết

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Chủ Đề