Computer >> Máy Tính >  >> Lập trình >> Python

Các cách tăng ký tự trong python


Trong hướng dẫn này, chúng ta sẽ xem các phương pháp khác nhau để tăng một ký tự trong Python.

Đánh máy

Trước tiên, hãy xem điều gì sẽ xảy ra nếu chúng ta thêm một int vào char mà không đánh máy.

Ví dụ

## str initialization
char = "t"
## try to add 1 to char
char += 1 ## gets an error

Nếu bạn thực hiện chương trình trên, nó sẽ tạo ra kết quả sau -

TypeError          Traceback (most recent call last)
<ipython-input-20-312932410ef9> in <module>()
      3
    4 ## try to add 1 to char
----> 5 char += 1 ## gets an error
TypeError: must be str, not int

Để tăng một ký tự trong Python, chúng ta phải chuyển đổi nó thành số nguyên và thêm 1 vào nó rồi truyền kết quả số nguyên thành char . Chúng tôi có thể đạt được điều này bằng cách sử dụng các phương pháp nội trang ord chr .

Ví dụ

## str initialization
char = "t"

## converting char into int
i = ord(char[0])

## we can add any number if we want
## incrementing
i += 1

## casting the resultant int to char
## we will get 'u'
char = chr(i)

print(f"Alphabet after t is {char}")

Nếu bạn thực hiện chương trình trên, nó sẽ tạo ra kết quả sau -

Alphabet after t is u

Byte

Có một cách khác để tăng ký tự bằng cách sử dụng byte .

  • Chuyển đổi str thành byte .
  • Kết quả sẽ là một mảng chứa các giá trị ASCII của tất cả các ký tự của một chuỗi.
  • Thêm 1 vào ký tự đầu tiên của byte được chuyển đổi . Kết quả sẽ là một số nguyên.
  • Chuyển đổi int thành char .

Ví dụ

## str initialization
char = "t"

## converting char to bytes
b = bytes(char, 'utf-8')

## adding 1 to first char of 'b'
## b[0] is 't' here
b = b[0] + 1

## converting 'b' into char
print(f"Alphabet after incrementing ACII value is {chr(b)}")

Nếu bạn thực hiện chương trình trên, nó sẽ tạo ra kết quả sau -

Alphabet after incrementing ACII value is u

Nếu chúng ta phải xâu chuỗi và chuyển đổi nó thành byte , sau đó chúng ta có thể tăng bất kỳ ký tự nào chúng ta muốn. Hãy xem nó với một ví dụ.

Ví dụ

## str initialization
name = "tutorialspoint"

## converting char to bytes
b = bytes(name, 'utf-8')

## adding 1 to 'a' char of 'b'
## 'a' index is 6
b = b[6] + 1

## converting 'b' into char
print(f"name after incrementing 'a' char is tutori{chr(b)}lspoint")

Nếu bạn thực hiện chương trình trên, nó sẽ tạo ra kết quả sau -

name after incrementing ‘a’ char is tutoriblspoint

Tôi hy vọng bạn hiểu rõ khái niệm này. Nếu bạn có bất kỳ nghi ngờ nào liên quan đến hướng dẫn, vui lòng đề cập đến chúng trong phần bình luận. Mã hóa vui vẻ :)