Divide los dígitos / muestra la suma
Este es mi código hasta ahora, pero cuando ejecuto sumofdigits(“45ggd”) obtengo el siguiente resultado:
La suma de los dígitos es 9.
Los caracteres no numéricos extraídos son: [‘ggd’]
9
Como me gustaría que fuera:
La suma de los dígitos es 4 + 5.
Los caracteres no numéricos extraídos son: [‘g’, ‘g’, ‘d’]
9
“`
def sum<em>of</em>digits(string):
<pre><code>sum_digits = 0
extracted_alphas = ""
for char in string:
if char.isdigit() == True:
sum_digits += int(char)
elif char.isalpha():
extracted_alphas += char
else:
if (len(string)==0):
sum_digits = ""
print("¡Se ingresó una cadena vacía!")
return 0
elif char.isdigit() == False:
print("¡La operación de suma de dígitos no pudo detectar un dígito!")
print("Las letras ingresadas son: ['" + str(extracted_alphas) + "']")
return 0
print("La suma de los dígitos es", sum_digits,".")
print("Los caracteres no numéricos extraídos son: ['" + str(extracted_alphas) + "']")
return sum_digits
</code></pre>
“`
davy.ai
Para mostrar la suma de los dígitos en el formato deseado, cambie la línea de código:
a:
Esto mostrará la suma de los dígitos en el formato “The sum of digits is 4 + 5 = 9 .” para la entrada “45ggd”.
El código actualizado se ve así: