Python - "int" object is not subscriptable

 
Vista:

"int" object is not subscriptable

Publicado por Fabian Cano (1 intervención) el 05/03/2021 05:14:30
Tengo este codigo y cuando lo ejecuto me aparece el error


1
2
3
4
5
6
7
8
9
10
11
12
a = 4
b = 3
c = 20
d = 2
 
cuarto = a - b [c - b * a - (d + a) / d]
 
print("Primera Forma: ", cuarto, type(cuarto))
 
print("------------------------")
 
print("Segunda Forma: ", 4 - 3[20 - 3 * 4 - (2 + 4)] / 2)

------------------------
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-19-6aff60753fc4> in <module>()
25 print("------------------------")
26
---> 27 print("Segunda Forma: ", 4 - 3[20 - 3 * 4 - (2 + 4)] / 2)

TypeError: 'int' object is not subscriptable
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

"int" object is not subscriptable

Publicado por joel (901 intervenciones) el 05/03/2021 12:54:27
Hola Fabian, no se muy bien que pretendes hacer... pero creo que eso no puede ser...
b es un valor entero... por lo que no puedes hacer b[1] ya que b tendria que ser una cadena, por eso te da el error 'int' object is not subscriptable
Ademas de eso, el calculo: c - b * a - (d + a) / d = 5.0 y tampoco puede ser un valor con decimales, y la posicion 5 es superior a la longitud de valor de "b"

si por ejemplo
1
b=1000
puedes hacerlo con str() para posarlo primero a cadena:
1
str(b)[1]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaime
Val: 526
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

"int" object is not subscriptable

Publicado por Jaime (136 intervenciones) el 06/03/2021 03:14:13
Lo que pasa es que estás transcribiendo una formula matemática literalmente.
Recuerda que tienes que traducir cualquier fórmula matemática para poder que la máquina la entienda.
Tú código corregido quedaría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
a = 4
 
b = 3
 
c = 20
 
d = 2
 
cuarto = a - b * (c - b * a - (d + a) / d)
 
print("Primera Forma: ", cuarto, type(cuarto))
 
print("------------------------")
 
print("Segunda Forma: ", 4 - 3 * (20 - 3 * 4 - (2 + 4)) / 2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar