5
respostas

[Dúvida] unsupported operand type(s) for +: 'int' and 'str'

Olá pessoal.

Estou com problemas escrevi o código para resolução do desafio opcional, porém ao tentar executar o erro no titulo acontece. Vendo a solução do pessoal aqui no fórum percebi que meu código está igual e funcionou no caso deles.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

Olá!

Este erro aparenta voc estar tentando "somar" uma string com um inteiro. Poderia postar o código completo mostrando como voc instanciou e uso a classe de data?

Abaixo segue um exemplo um pouco diferente - https://github.com/foguinhoperuca/alura-python-introducao-a-linguagem/blob/master/pyoo/dates.py:

from dataclasses import dataclass
import logging


@dataclass
class AluraDate:
    day: str
    month: str
    year: str

    def print_date(self):
        formatted_date = f"{self.day}/{self.month}/{self.year}"

        logging.debug(formatted_date)

        return formatted_date

if __name__ == "__main__":
    dt = AluraDate(26, 10, 2022)
    print(f"{dt=} :: {dt.print_date()=}")

Olá Jefferson.

Então não sei se entendi bem mas..

Eu simplesmente criei essa classe que ta no print e no console no pycharm importei a classe, criei uma variavel na qual eu chamava a classe e atribuia os valores dia, mes e ano. Depois chamei essa variavel com o metodo .formate() da minha classe e o erro acontece.

O exemplo que você trouxe talvez esteja um pouco avançado para mim, entendi algumas coisas e outras não.

A questão é que uma versão muito parecida desse código está funcionando. No forum vi varios exemplos alguns até iguais ao meu que aparentemente funcionou lá.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Josilon, no teu print inicial tava class Data(): e agora está class Datas: Mesmo com essa correção o erro persiste?

Forma tranquila que arrumei de fazer foi essa, ve se da uma ajuda.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade ]

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

codigo se facilitar copiar class Data:

def __init__(self, dia, mes, ano):
    self.dia = dia
    self.mes = mes
    self.ano = ano

def imprime_data(self):
    print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))
No console 
    from datas import Data
    d = Data(21, 11, 2007)
    d.imprime_data()

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software