Home Fóruns Python EX 72

Visualizando 15 respostas da discussão
  • Autor
    Posts
    • #100449
      Alexandre Cassola
      Participante

      Olá pessoal, tentei fazer o exercício 72 usando um laço para a pergunta se quero continuar.
      Na resposta ‘N’ com o break não está saindo do laço.

      extenso = (‘zero’, ‘um’, ‘dois’, ‘tres’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’,
      ‘oito’, ‘nove’, ‘dez’, ‘onze’, ‘doze’, ‘treze’,
      ‘quatorze’, ‘quinze’, ‘dezesseis’, ‘dezessete’, ‘dezoito’,
      ‘dezenove’, ‘vinte’)
      while True:
      num = int(input(‘Digite num entre 0 e 20: ‘))
      if num >=0 and num <= 20:
      print(f’Vce digitou o número {extenso[num]}’)
      if num > 20:
      continue
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] ‘)).strip().upper()[0]
      if resp == ‘S’:
      continue
      elif resp == ‘N’:
      break
      print(‘FIM!’)

    • #100480
      Tutora Jessica
      Moderador

      Olá Alexandre,
      O Python obrigatoriamente precisa ser identado, ou seja, é obrigatória a utilização de recuos.
      Testei seu código aplicando a identação correta e esta tudo funcionando.
      Preciso que você me envie o código identado, utilizando a opção CODE na barra de cima, da seguinte forma:
      Cole seu código aqui, selecione todo o seu código e clique no botão CODE.
      Após fazer isso, o seu código ficará como o exemplo abaixo:
      Exemplo:

       li = driver.find_element(by=By.CLASS_NAME, value="bbp-body");
          sleep(1)
          uls = li.find_elements(by=By.TAG_NAME, value="ul")
      
          data = []
      
          for i, ul in enumerate(uls):
              sleep(1)
              lis = ul.find_elements(by=By.TAG_NAME, value="li")
              topicos = int(lis[2].text)
              
              if(topicos <=0):
                  continue
      
              a = lis[3].find_element(by=By.TAG_NAME, value="a")        
      
              data.append([
                  i, lis[2].text, a.get_attribute(name="href")
              ])
    • #100509
      Alexandre Cassola
      Participante

      extenso = (‘zero’, ‘um’, ‘dois’, ‘tres’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’,
      ‘oito’, ‘nove’, ‘dez’, ‘onze’, ‘doze’, ‘treze’,
      ‘quatorze’, ‘quinze’, ‘dezesseis’, ‘dezessete’, ‘dezoito’,
      ‘dezenove’, ‘vinte’)
      while True:
      num = int(input(‘Digite num entre 0 e 20: ‘))
      if num >=0 and num <= 20:
      print(f’Vce digitou o número {extenso[num]}’)
      if num > 20:
      continue
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] ‘)).strip().upper()[0]
      if resp == ‘S’:
      continue
      elif resp == ‘N’:
      break
      print(‘FIM!’)`

    • #100510
      Alexandre Cassola
      Participante

      extenso = (‘zero’, ‘um’, ‘dois’, ‘tres’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’,
      ‘oito’, ‘nove’, ‘dez’, ‘onze’, ‘doze’, ‘treze’,
      ‘quatorze’, ‘quinze’, ‘dezesseis’, ‘dezessete’, ‘dezoito’,
      ‘dezenove’, ‘vinte’)
      while True:
      num = int(input(‘Digite num entre 0 e 20: ‘))
      if num >=0 and num <= 20:
      print(f’Vce digitou o número {extenso[num]}’)
      if num > 20:
      continue
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] ‘)).strip().upper()[0]
      if resp == ‘S’:
      continue
      elif resp == ‘N’:
      break
      print(‘FIM!’)

    • #100511
      Alexandre Cassola
      Participante
      extenso = ('zero', 'um', 'dois', 'tres', 'quatro', 'cinco', 'seis', 'sete',
                 'oito', 'nove', 'dez', 'onze', 'doze', 'treze',
                 'quatorze', 'quinze', 'dezesseis', 'dezessete', 'dezoito',
                 'dezenove', 'vinte')
      while True:
          num = int(input('Digite num entre 0 e 20: '))
          if num >=0 and num <= 20:
              print(f'Vce digitou o número {extenso[num]}')
          if num > 20:
              continue
          resp = ' '
          while resp not in 'SN':
              resp = str(input('Quer continuar? [S/N] ')).strip().upper()[0]
              if resp == 'S':
                  continue
              elif resp == 'N':
                  break
      print('FIM!')
    • #100512
      Tutora Jessica
      Moderador

      Ola Alexandre, o if e o elif deve estar fora do segundo while e dentro somente do primeiro, dessa forma:

      extenso = ('zero', 'um', 'dois', 'tres', 'quatro', 'cinco', 'seis', 'sete','oito', 'nove', 'dez', 'onze', 'doze','treze','quatorze', 'quinze', 'dezesseis','dezessete','dezoito','dezenove', 'vinte')
      while True:
          num = int(input('Digite num entre 0 e 20: '))
          if num >=0 and num <= 20:
              print(f'Vce digitou o número {extenso[num]}')
          if num > 20:
              continue
          
          resp = ' '
          
          while resp not in 'SN':
              resp = str(input('Quer continuar? [S/N] ')).strip().upper()[0]
              
          if resp == 'S':
              continue
          elif resp == 'N':
              break
              
      print('FIM!')
      • #100513
        Alexandre Cassola
        Participante

        Ok, obrigado. Na identação é que estou apanhando.

    • #100516
      Tutora Jessica
      Moderador

      É assim mesmo Alexandre, você não é o único!!
      O importante é continuar treinando que já já fico 100%
      Bons estudos 🖖

    • #105584

      cont = (‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’,
      ‘oito’, ‘nove’, ‘dez’, ‘onze’, ‘doze’, ‘treze’, ‘quatorze’, ‘quinze’,
      ‘dezesseis’, ‘dezessete’, ‘dezoito’, ‘dezenove’, ‘vinte’)
      while True:
      num = int(input(‘Digite um número entre 0 e 20: -> ‘))
      if 0 <= num <= 20: # if num >= 0 and num <= 20
      break
      print(‘Tente novamente! ‘, end=”)
      print(f’Você digitou o número {cont[num]}’)
      #Não está funcionando !
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] -> ‘)).upper().strip()[0]
      if resp == ‘S’:
      continue
      else resp == ‘N’:
      break
      print(‘Fim!’)`

    • #105585

      Meu while no exercício 72 não está funcionando … Já revi as identações , me parece tudo Ok . Podem me ajudar ??
      obs : colei meu código acima e apertei code (?). Vou fazer as identações com espaços …
      obrigado !

      cont = (‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’,
      ‘oito’, ‘nove’, ‘dez’, ‘onze’, ‘doze’, ‘treze’, ‘quatorze’, ‘quinze’,
      ‘dezesseis’, ‘dezessete’, ‘dezoito’, ‘dezenove’, ‘vinte’)
      while True:
      num = int(input(‘Digite um número entre 0 e 20: -> ‘))
      if 0 <= num <= 20: # if num >= 0 and num <= 20
      break
      print(‘Tente novamente! ‘, end=”)
      print(f’Você digitou o número {cont[num]}’)
      #Não está funcionando !
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] -> ‘)).upper().strip()[0]
      if resp == ‘S’:
      continue
      else resp == ‘N’:
      break
      print(‘Fim!’)

    • #105625
      Tutora Jessica
      Moderador

      Ola Geraldo, preciso que me envie o seu código identado conforme colado aqui.
      Você vai colar seu código aqui no fórum, selecionar ele por completo e clicar no CODE.

    • #105682

      # Oi Jéssica obrigado pelo retorno! segue código :

      cont = ('zero', 'um', 'dois', 'três', 'quatro', 'cinco', 'seis', 'sete', 'oito', 'nove','dez', 'onze',
              'doze', 'treze', 'quatorze', 'quinze', 'dezesseis', 'dezessete', 'dezoito', 'dezenove', 'vinte' )
      while True:
          num = int(input('Digite um número entre 0 e 20 : -> '))
          if 0 <= num <= 20:
              break
          print('Vamos tentar novamente: ', end='')
      print(f'Você digitou o número: {cont[num]}')
      
      #Não está funcionando !
          resp = ' '
          while resp not in 'SN':
              resp = str(input('Quer continuar? [S/N] -> ')).upper().strip()[0]
          if resp == 'S':
              continue
          elif resp == 'N':
              break
      print('Fim!')
    • #105690
      Tutora Jessica
      Moderador

      Ola Geraldo, na sua identação o segundo print esta fora do while, por isso o erro.
      Coloque os dois prints dentro do while, da seguinte forma:

      while True:
          num = int(input('Digite um número entre 0 e 20 : -> '))
          if 0 <= num <= 20:
              break
          print('Vamos tentar novamente: ', end='')
          print(f'Você digitou o número: {cont[num]}')

      Veja se dessa forma seu código funciona.

      • #105734

        Bom dia , Jéssica !
        Encontrei o problema (joguei o segundo While dentro do if , e agora está funcionando perfeitamente!
        caso alguém queira consultar no futuro ficou assim:

        cont = (‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’, ‘oito’, ‘nove’,’dez’, ‘onze’,
        ‘doze’, ‘treze’, ‘quatorze’, ‘quinze’, ‘dezesseis’, ‘dezessete’, ‘dezoito’, ‘dezenove’, ‘vinte’ )
        while True:
        num = int(input(‘Digite um número entre 0 e 20 : -> ‘))
        if num >= 0 and num <= 20:
        print(f’Você digitou o número: {cont[num]}’)
        resp = ‘ ‘
        while resp not in ‘SN’:
        resp = str(input(‘Quer continuar? [S/N] -> ‘)).upper().strip()[0]
        if resp == ‘S’:
        continue
        elif resp == ‘N’:
        break
        print(‘Vamos tentar novamente: ‘, end=”)
        continue
        print(‘Fim!’)

    • #105743

      Bom dia , Jéssica !
      Encontrei o problema (joguei o segundo While dentro do if , e agora está funcionando perfeitamente!
      caso alguém queira consultar no futuro ficou assim:

      cont = (‘zero’, ‘um’, ‘dois’, ‘três’, ‘quatro’, ‘cinco’, ‘seis’, ‘sete’, ‘oito’, ‘nove’,’dez’, ‘onze’,
      ‘doze’, ‘treze’, ‘quatorze’, ‘quinze’, ‘dezesseis’, ‘dezessete’, ‘dezoito’, ‘dezenove’, ‘vinte’ )
      while True:
      num = int(input(‘Digite um número entre 0 e 20 : -> ‘))
      if num >= 0 and num <= 20:
      print(f’Você digitou o número: {cont[num]}’)
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Quer continuar? [S/N] -> ‘)).upper().strip()[0]
      if resp == ‘S’:
      continue
      elif resp == ‘N’:
      break
      print(‘Vamos tentar novamente: ‘, end=”)
      continue
      print(‘Fim!’)`

    • #105745
      Tutora Jessica
      Moderador

      Parabéns pelo seu empenho Geraldo 🖖🏼

    • #129488

      cont = (‘zero’, ‘um’, ‘dois’, ‘tres’, ‘quatro’, ‘cinco’,
      ‘seis’, ‘sete’, ‘oito’, ‘nove’, ‘dez’, ‘onze’,
      ‘doze’, ‘treze’, ‘quatorze’, ‘quinze’, ‘dezeseis’,
      ‘dezesete’, ‘dezoito’, ‘dezenove’, ‘vinte’)

      while True:
      num = int(input(‘Digite um número entre 0 a 20: ‘))
      if 0 <= num <=20:
      print(f’Você digitou o numero {cont[num]}’)
      resp = ‘ ‘
      while resp not in ‘SN’:
      resp = str(input(‘Deseja continuar [S/N]? ‘)).strip().upper()[0]
      if resp == ‘S’:
      continue
      elif resp == ‘N’:
      break
      print(‘Vamos tentar novamente!’, end=’ ‘)
      print(‘FIM DO PROGRAMA!!!’)

    • #129586
      Tutora Jessica
      Moderador

      Ola Aderval, alguma duvida?

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