Exercício 112

Home Fóruns Python Exercício 112

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #95004
      Antônio Merencio
      Participante

      Eu não entendi a funçao do \” \” no código, como ela funciona. ex do vídeo:

      def leia_dinheiro(msg):
          valido = False
          while not valido:
              entrada = str(msg).replace(',', '.').strip()
              if entrada.isalpha() or entrada == '':
                  print(f'ERRO: \"{entrada}\" é um preço inválido!')
                  msg = input('Digite o preço: R$')
              else:
                  valido = True
                  return float(entrada)
      • Este tópico foi modificado 1 ano, 10 meses atrás por IcaroFilho.
    • #95212
      IcaroFilho
      Moderador

      Boa noite,
      A barra faz com que o elemento a direita não seja interpretado de maneira que interfira no código. neste seu exemplo não da para ver, mas ao invés de utilizar aspas simples + duplas, faça um teste utilizando apenas aspas simples:

      entrada = 'minha entrada'
      print(f'ERRO: '{entrada}' é um preço inválido!')

      isto ocorre pq o interpreador acha que o primeiro trecho de string é ‘ERRO: ‘ , e o segundo ‘ é um preço inválido!’.

      Agora se colocarmos a barra antes de cada aspas simples interna, o código terá a saida esperada:

      entrada = 'minha entrada'
      print(f'ERRO: \'{entrada}\' é um preço inválido!')
    • #95266
      Antônio Merencio
      Participante

      Entendi, o programa faria uma forma de concatenação não esperada, correto?

      • #95272
        IcaroFilho
        Moderador

        resposta a sua pergunta: sim e não.
        Sim ele tentaria fazer uma concatenação, porem como não existe “+” ou “,” para indicar tal intenção, o programa quebraria.
        Em resumo, ele não vai entender o que é pra fazer e quebra.

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.