image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

DI

Diego Itiki31/10/2022 16:25
Compartilhe

Desafios

    Boa noite estou tendo dificuldade com esse Desafio, alguém poderia me ajudar

    Compartilhe
    Comentários (12)
    Paulo Macedo
    Paulo Macedo - 01/03/2024 02:29

    fiz assim e funcionou

    No seu exemplo ele le a e b separado por isso n foi


    N = int(input())


    while(N > 0):

     v = input().split(" ")

     a = v[0]

     b = v[1]


     a = a.strip()

     b = b.strip()

      

     num = len(b)

     a = a[-num:]


     if a == b:

      print("encaixa")

     else:

      print("nao encaixa")


     N-=1

    Calebe Moura
    Calebe Moura - 25/01/2024 21:01

    O meu código também não deu certo. E olha que já revisei várias vezes.


    N = int(input())


    while (N > 0):

        N -= 1

        A, B = input().split()

        if (0 < len(A) <= 1000) and (0 < len(B) <= 1000):

            if A[-4:] == B[-4:]:

                print("encaixa")

            else:

                print("nao encaixa")

    DS

    Daniel Souza - 20/06/2023 21:39

    consegui passar o desafio com esse codigo


    qt = int(input())

    v = []


    for i in range(qt):

      v = input().split(" ")

      a = v[0]

      b = v[1]


      if len(b) > len(a):

        print("nao encaixa")

      elif a.endswith(b):

        print("encaixa")

      else:

        print("nao encaixa")  

    LF

    Lucas França - 27/04/2023 09:27

    Também estou tendo problemas em executar esse desafio, meu código funciona no vscode, porém quando faço os testes no desafio, recebo a mensagem de retorno inválido.

    Código:

    n = int(input())


    for c in range(n):

      a = str(input())

      b = str(input())

       

      if len(a) == len(b):

       a_1 = a[::-1]

       b_1 = b[::-1]

        

       if b_1 in a_1: 

        print("encaixa")

         

       else:

        print("nao encaixa")

         

      if len(a) > len(b):

       a_1 = a[:(len(b)):-1]

       b_1 = b[::-1]

        

       if b_1 in a_1: 

        print("encaixa")

         

       else:

        print("nao encaixa")

         

      else:

        print("nao encaixa")

    AP

    Alexey Pereira - 23/04/2023 01:16

    Também estou. Onde estaria o erro nesse código:


    N = int(input())


    A = input()


    B = input()


    while (len(A) < len(B)) or (B[:] != A[-len(B)::]):

      print("não encaixa")

      break


    while ((len(A) - len(B)) >= len(B)) or (len(A) == len(B)):

     while (B[:] == A[-len(B)::]):

        print("encaixa")

      break


    Rodo no jupyter notebook e funciona. Claro que não está dando mensagem de erro para entradas em desacordo com o sugerido no exercício (tipo digitar texto onde é para ser número).


    Favor verificar e informar o erro.


    Grato.


    PS: também roda com if no JN.

    Leonardo Roxo
    Leonardo Roxo - 01/11/2022 15:12

    Olá, Diego Itiki.

    Poste exatamente o código do desafio. o Sistema DIO para verificação de código dos Desafios é bem específico e amarrado ao código proposto pela DIO.

    Carlos Rodrigues
    Carlos Rodrigues - 31/10/2022 18:04


    """

     Toda vez que os ultimos numeros em A forem iquais o valor em B o programa retorna True

    """

    # Recebe valor A e B

    valor_A = input("A -> ");

    valor_B = input("B -> ");

    teste = False;


    # Testa se existe a string B dentro da string A

    if str(valor_B) in str(valor_A):

      tamanho_A = len(valor_A);

      tamanho_B = len(valor_B);

      conta_iqualdade = 0;


      # Percorre a string B do ultimo para o primeiro

      for i in range(tamanho_B -1, -1, -1):


       # Verifica se o valor de B na posição i e iqual ao valor em uma posição equivalente em A

       if valor_B[i] == valor_A[tamanho_A -1]:

        conta_iqualdade+=1;


       # Retrocede uma posição em A

       tamanho_A-=1;


      # Testa se todos os valores em B estavam iquais aos comparados em A

      if conta_iqualdade == tamanho_B:

       teste = True;


    # Resposta do programa

    print(teste)

    DI

    Diego Itiki - 31/10/2022 17:47

    O desafio é esse


    DI

    Diego Itiki - 31/10/2022 17:46

    Desafio

    Paulinho tem em suas mãos um novo problema. Agora a sua professora lhe pediu que construísse um programa para verificar, à partir de dois valores muito grandes A e B, se B corresponde aos últimos dígitos de A.

    Entrada

    A entrada consiste de vários casos de teste. A primeira linha de entrada contém um inteiro N que indica a quantidade de casos de teste. Cada caso de teste consiste de dois valores A e B maiores que zero, cada um deles podendo ter até 1000 dígitos.


    Saída

    Para cada caso de entrada imprima uma mensagem indicando se o segundo valor encaixa no primeiro valor, confome exemplo abaixo.


     

    Exemplo de EntradaExemplo de Saída4

    56234523485723854755454545478690 78690

    5434554 543

    1243 1243

    54 64545454545454545454545454545454554

    DI

    Diego Itiki - 31/10/2022 17:45

    Eu fiz assim, porém ao tentar executar no desafio não vai


    DI

    Diego Itiki - 31/10/2022 17:43

    n = int(input("Digite o valor de N: "))

    while(n >= 0):

        a = input("Informe o valor de A: ")

        b = input("Informe o valor de B: ")

        n = n > 1

        if len(a) >= len(b):

            if (a[(len(a) - len(b)):]) == b:

                print("encaixa")

            else:

                print("nao encaixa")

        else:

            print("nao encaixa")


    Apolo Albuquerque
    Apolo Albuquerque - 31/10/2022 16:52

    Você pode ir comparando com um for com range decrescente, em Python é algo como:

    for i in range( (len(A) - 1) , -1 , -1):
     ... 
    # (len(A) - 1) corresponde ao ultimo caractere do vetor; 
    # -1 é a parada, ou seja, vai parar em 0 (primeiro valor do vetor);
    # o ultimo -1 é o passo, ou seja ele vai de forma decrescente. 
    

    Do ultimo valor até o primeiro comparando se cada caractere de A é igual ao caractere de B (isso de trás para frente pois o problema pede para saber se A corresponde aos últimos dígitos de B), caso chegue em algum caso negativo poderá sair do for e avisar que A não está contido em B.