Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código da aula não roda

No curso de Python "Avançando na orientação a objetos", desde a primeira aula é passado o código:

vingadores = Filme('vingadores - guerra infinita', 2018, 160)
print(f'Nome: {vingadores.nome} - Ano: {vingadores.ano} ' - 
f'- Duração: {vingadores.duracao}' - Likes: {vingadores.likes}')

Porém quando rodo recebo a mensagem de erro no console:

Traceback (most recent call last):
  File "(...)/python3oo2/Modelo.py", line 16, in <module>
    print(f'Nome: {vingadores.nome} - Ano: {vingadores.ano} ' -
TypeError: unsupported operand type(s) for -: 'str' and 'str'

Process finished with exit code 1

Aparentemente por conta da notação utilizada ' - f'

Alterei para o código abaixo e rodou, porém esta notação é utilizada em todas as aulas. Por que não consigo fazer funcionar o código original?

print(f'Nome: {vingadores.nome} - Ano: {vingadores.ano} - Duração: {vingadores.duracao}')

Rodando:

PyCharm 2019.3.3 (Community Edition) Build #PC-193.6494.30, built on February 6, 2020 Runtime version: 11.0.5+10-b520.38 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Windows 10 10.0 GC: ParNew, ConcurrentMarkSweep

python --version Python 3.8.1

1 resposta
solução!

Olá Hugo,

Realmente o código está incorreto exatamente na parte que você indicou, apenas removendo o - ou juntando em uma linha como você fez já resolve o problema.

Já vamos fazer a correção no código da aula, obrigado por avisar!