Formas de incrementar un carácter en Python

En python no hay un concepto implícito de tipos de datos, aunque es posible la conversión explícita de tipos de datos, pero no es fácil para nosotros instruir al operador para que trabaje de una manera y comprenda el tipo de datos del operando y lo manipule de acuerdo con eso. Por ejemplo , al agregar 1 a un carácter, si requerimos incrementar el carácter, se produce un error que indica conflictos de tipo , por lo tanto, es necesario formular otras formas para incrementar los caracteres.
 

Python

# python code to demonstrate error
# due to incrementing a character
 
# initializing a character
s = 'M'
 
# trying to get 'N'
# produces error
s = s + 1
 
print (s)

Producción: 
 

Traceback (most recent call last):
  File "/home/fabc221bf999b96195c763bf3c03ddca.py", line 9, in 
    s = s + 1
TypeError: cannot concatenate 'str' and 'int' objects
Usando ord() + chr()

Python3

# python code to demonstrate way to
# increment character
 
# initializing character
ch = 'M'
 
# Using chr()+ord()
# prints P
x = chr(ord(ch) + 3)
 
print ("The incremented character value is : ",end="")
print (x)

Producción: 
 

The incremented character value is : P

Explicación: ord() devuelve el valor ASCII correspondiente del carácter y, después de agregarle un número entero, chr() vuelve a convertirlo en carácter.
 

Usando string de bytes

Python3

# python code to demonstrate way to
# increment character
 
# initializing byte character
ch = 'M'
 
# converting character to byte
ch = bytes(ch, 'utf-8')
 
# adding 10 to M
s = bytes([ch[0] + 10])
 
# converting byte to string
s = str(s)
 
# printing the required value
print ("The value of M after incrementing 10 places is : ",end="")
print (s[2])

Producción: 
 

The value of M after incrementing 10 places is : W

Explicación: el carácter se convierte en una string de bytes, se incrementa y luego se vuelve a convertir en una forma de string con el prefijo «‘b», por lo tanto, el tercer valor da la salida correcta.
Este artículo es una contribución de Manjeet Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a contribuir@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *