[RESOLVIDO] Por que int(int('3' * 2) / 11) resulta em 3?

No livro Automatize Tarefas Maçantes Com Python encontrei a seguinte expressão em um exercício: int(int(‘3’ * 2) / 11)
Ela resulta em 3.
Não entendi muito bem porque isso acontece.
Alguém poderia me ajudar?

É o seguinte:
O 3 ali é uma String, perceba que esta entre aspas

Quando você multiplica uma String por um número, você copia ela x vezes

Ex:

variavel = '3'
variavel * 2 = '33'

int(‘3’ * 2) -> converte o '33' para inteiro = 33

 int(‘3’ * 2) / 11 -> divide o 33 por 11 = 3

 int(int(‘3’ * 2) / 11) -> converte o 3 para inteiro (mas 3 ja é inteiro, então sei la o pq de ter colocado mais um int)

EDIT: Se fosse 33/12 ia dar 2.75 e com a conversão do int iria ficar 2

3 curtidas

Muito obrigado. Agora entendi.