Exercício Python

Поделиться
HTML-код
  • Опубликовано: 8 ноя 2024

Комментарии • 2,6 тыс.

  •  4 месяца назад +4

    Estude pelo nosso site e tire certificado de 40 horas. Curso completo em: www.cursoemvideo.com/curso/python-3-mundo-1/

    • @isabelsiqueira78
      @isabelsiqueira78 Месяц назад

      Estou assistindo pelo site, mas por algum motivo quando tento passar do exercício 22 para o 23, não me deixa avançar, mesmo marcando concluído. Como proceder?

    • @isabelsiqueira78
      @isabelsiqueira78 Месяц назад

      Descobri que pelo site não aceita eu acelerar a reprodução do vídeo. :/ Por isso não estava conseguindo avançar para o próximo vídeo.

    • @Definitivamentealguem123
      @Definitivamentealguem123 18 дней назад

      Fica difícil assistir pelo site pra ganhar o certificado quando tu quer começar pelo exercício 23 kk talvez algum dia eu vá assistir tudo de novo.

  • @lucasknupppessoa9055
    @lucasknupppessoa9055 2 года назад +451

    A sacada de usar a divisão inteira e depois só o resto da divisão é incrível. De verdade, MUITO difícil de pensar para um marinheiro de primeira viagem.

    • @juliodonofreo
      @juliodonofreo 2 года назад +72

      uma coisa que eu não gosto é usar conceitos não ensinados nos exercicios, pode incentivar as pessoas a desistencia

    • @sabedoriadopensar
      @sabedoriadopensar 2 года назад +13

      @@potter404 cara, eu ainda nem cheguei a ver nenhum conteudo de if, mas so de ver seu script deu pra eu entender mt coisa, e concordo q é impossivel pensar no resultado resolvido pelo guanabara lkkkkkkkk

    • @huntertitaniumcode8751
      @huntertitaniumcode8751 2 года назад +2

      @@potter404 Gostei da sua solução, mano. Tem que se virar como pode. Na primeira vez eu também me enrolei pra burro.

    • @daniellopes48
      @daniellopes48 2 года назад +5

      @@juliodonofreo vai chorar se te forçarem a usar o cérebro um pouco? Passou a vida inteira ganhando tudo mastigado! Tenta dessa vez, pelo menos dessa vez na sua vida, queimar um pouco a cabeça antes de ir chorando nos comentários falar que não conseguiu!

    • @brunoalves3192
      @brunoalves3192 2 года назад +30

      @@daniellopes48 Falar isso sem ao menos conhecer 50% da vida do cara, é burrice ou ignorância pura.

  • @edjalmobf9309
    @edjalmobf9309 5 лет назад +779

    Pra quem achou a explicação complicada:
    Veja os exemplos abaixo.
    Divisão: 1234 / 10 = 123,4
    Divisão inteira: 1234 //10 = 123
    Módulo: 1234 % 10 = 4
    Pra ele descobrir a centena ele faz isso:
    Faz a divisão inteira por 100: 1234 // 100 = 12
    Depois pega o resultado e dividi por 10, mas pega só o resto dessa divisão (que é o módulo): 12 % 10 = 2
    Ou seja, a centena é 2.
    Espero ter ajudado, demorei para entender tbm ^^

    • @celsoantonio2583
      @celsoantonio2583 3 года назад +5

      Ficou mais claro pra mim agora...Valeu!

    • @willianleandro313
      @willianleandro313 3 года назад +3

      vlw mano

    • @BlackFenixviana
      @BlackFenixviana 3 года назад +40

      agora entendi valeu...
      tentei usar um pensamento com um numero menor.
      ficou mais ou menos assim.
      790 / 1 = 790 dps 790 / 10 = 79,0 então o 0 é o resto... unidade é igual a 0.
      790 / 10 = 79,0 dps 79,0 / 10 = 7,9 então o 9 é o resto ... dezena é igual a 9.
      790 / 100 = 7,9 dps 7,9/ 10 = 0,7 então o 7 é o resto ... centena é igual a 7.
      esse foi um raciocínio que me ajudou a entender a situação.

    • @pablooli
      @pablooli 3 года назад +38

      pra esclarecer ainda mais, ele faz a divisão pra deslocar a virgula, e usa o % 10 "pra dizer", pegue o primeiro numero após a virgula.

    • @calcfuturosouza
      @calcfuturosouza 3 года назад +1

      eu tbm,valeu

  • @eduardaportugal3005
    @eduardaportugal3005 4 года назад +85

    Esse foi complicado pra mim, não consegui fazer sozinha.
    Muito obrigada Guanabara!!

    • @diulytofalo5539
      @diulytofalo5539 2 года назад +8

      eu tbm não sei matemática, então fiz pura e simplesmente com o código abaixo:
      (eu sei que escrevi muuuito mais que ele, mas fazer o que, é mt difícil pra mim raciocinar com matemática..)
      n = input('Digite um número: ')
      if len(n) == 1:
      print('unidade = ',n[0])
      if len(n) == 2:
      print('unidade = ', n[1])
      print('dezena = ', n[0])
      if len(n) == 3:
      print('unidade = ', n[2])
      print('dezena = ', n[1])
      print('centena = ', n[0])
      if len(n) == 4:
      print('unidade = ', n[3])
      print('dezena = ', n[2])
      print('centena = ', n[1])
      print('milhar = ', n[0])

    • @joaogabrielnunes6797
      @joaogabrielnunes6797 10 месяцев назад

      mt melhor e fácil de compreender, obrigado!!@@diulytofalo5539

    • @rafinhasomente
      @rafinhasomente 5 месяцев назад

      @@diulytofalo5539 era mais fácil adicionar 000 à esquerda da string e contar começando do final, ficaria mais simples

  • @QifiShiina
    @QifiShiina Год назад +17

    Fiquei quebrando a cabeça atoa achando que era um exercício relacionado a manipulação de string, mas esse ai fugiu completamente do contexto, ai é foda...

    • @waltterramos7248
      @waltterramos7248 3 дня назад

      também achei isso. me quebrou todo. tentei uma tarde toda resolver com manipulação de strings. e só fiquei na tentativa. kkk. sem sucesso.

  • @INCOMPUTERSCIENCE
    @INCOMPUTERSCIENCE 2 года назад +37

    2015 eu fazia o curso de logica de programação nesse canal e hoje em 2022 faço curso de ciencia da computação no IF. Cara agradeço muito esse canal por me proporcionar uma base boa em algorítimos.

    • @henriqueerenner5741
      @henriqueerenner5741 5 месяцев назад

      Como tá indo o curso?

    • @INCOMPUTERSCIENCE
      @INCOMPUTERSCIENCE 5 месяцев назад

      @@henriqueerenner5741 estava indo bem até esse grave das Univercidades e institutos Federias

  • @kraus9461
    @kraus9461 2 года назад +103

    Cara, fiquei tão vidrado na ideia de usar os conceitos ensinados na última aula que esqueci de tentar usar a matemática kkkkkkkkklkk

    • @snnSam7
      @snnSam7 8 месяцев назад +8

      Real, mano. eu fiquei vidrado em tentar usar o len e tals, tentar usar o fatiamento, caramba kkkkkkk

    • @vitortavares5931
      @vitortavares5931 6 месяцев назад +6

      Eu:
      n = input('Informe um número: ')
      print(f'Unidade: {len(n)}')
      print(f'Dezena: {n[0:1]}')
      print(f'Centena: {n[1:2]}')
      print(f'Milhar: {n[2:3]}')
      Coloquei o 3234, tá porra funcionou deixa eu testar o 23 agora ... puta merda

    • @Kageyuky
      @Kageyuky 3 месяца назад +1

      @@snnSam7 tbm dava, mas daí vc tinha que pesquisar um pouco, o jeito que consegui foi assim
      numero = input('Digite um número de 0 a 9999: ')
      unidade = numero.replace(numero, numero[-1])
      dezena = numero.replace(numero, numero[-2])
      milhar = numero.replace(numero, numero[-3])
      milhao = numero.replace(numero, numero[-4])
      print(f'Unidade: {unidade}')
      print(f'Dezena: {dezena}')
      print(f'Milhar: {milhar}')
      print(f'Milhão: {milhao}')
      quando vc usa o "-", o python faz a contagem de traz pra frente

  • @evertonmartins6402
    @evertonmartins6402 6 лет назад +703

    Eu fiz Porem do "jeitinho" brasileiro
    n = int(input('Digite um número entre 0 e 9999: '))
    n2 = str(int(10000 + n))
    print('O número {} possui, {} milhares.'.format(n, n2[1]))
    print('O número {} possui, {} centenas. '.format(n, n2[2]))
    print('O número {} possui, {} dezenas. '.format(n, n2[3]))
    print('O número {} possui, {} unidades.'.format(n, n2[4]))

    • @andreluizsenson5576
      @andreluizsenson5576 5 лет назад +83

      genial

    • @klsio2380
      @klsio2380 5 лет назад +33

      n = int(input('Digite um número entre 0 e 9999: '))
      n2 = str(int(10000 + n))
      print('{} milhares.'.format(n2[1]))
      print('{} centenas. '.format(n2[2]))
      print('{} dezenas. '.format(n2[3]))
      print('{} unidades.'.format(n2[4]))

    • @ayronaugusto2654
      @ayronaugusto2654 5 лет назад +27

      BOA, BOA!!! BEM PENSADO.

    • @Hiagoleof250
      @Hiagoleof250 5 лет назад +2

      Gostei kkkk

    • @suricate796
      @suricate796 5 лет назад +39

      É realmente impressionante o leque de possibilidades existentes para resolver um problema.

  • @celmirocarvalho8743
    @celmirocarvalho8743 7 лет назад +260

    explicado por si tudo fica mais facil só acho que há aqueles que já sabem programar e ficam exibindo os seus códigos cheios de if e else nós estamos aqui porque precisamos aprender valeu mais uma vez a explicação foi facil obrigado GUANABARA

    • @MrGabe45rlima
      @MrGabe45rlima 6 лет назад +3

      Pois é cara. Eu acabei de comentar um que deu certo por string mas não usa nada que não tenhamos visto.

    • @bugman10
      @bugman10 6 лет назад +32

      Eles fazem isso pra mostrar que sabem, mas se soubessem mesmo não estariam aqui mostrando suas ''habilidades'' para nós novatos

    • @Ammorim
      @Ammorim 6 лет назад +2

      pprt falou tudo meu mano

    • @matheusviana2786
      @matheusviana2786 5 лет назад +26

      E qual o problema do cara postar uma solução melhor? Não fique com a bundinha doída por existirem modos melhores de se fazer algo que você não conhece mas sim aprenda com eles.

    • @pedromartinez4757
      @pedromartinez4757 5 лет назад +1

      Eu sei java mas não sei python , tentei usa ifs e elses e deu muito errado

  • @_oldmanjoel
    @_oldmanjoel 2 года назад +197

    Acho que o mais difícil desse exercício é que, no final das contas, a resolução dele não usou manipulação de texto

    • @rcfaell
      @rcfaell 2 года назад +2

      @@joaomoura6965 opa joão, tranquilo? O que significa isso numt = f'{num:0>7}'?

    • @Atomic.Clipes
      @Atomic.Clipes 2 года назад +1

      @@rcfaell oi mano, também não manjo e to aprendendo mas eu acho que é a contagem dos caracteres, do 0 ao 7, '9999.99' tem 6 caracteres mas ai tem que contar um a mais pra ficar certinho

    • @nikisterkix6129
      @nikisterkix6129 2 года назад +5

      @@rcfaell é a nova formatacao do python, em vez de colocar .format no fim, se voce colocar um f' antes já dá certo, tipo
      teste = int(input('Digite um número: '))
      print(f'{teste}')
      sou ruim explicando, mas espero que tenha entendido.

    • @rcfaell
      @rcfaell 2 года назад +1

      @@nikisterkix6129 po irmão, explicação perfeita, deu pra entender sim, obrigado!

    • @joaopedrodiniz481
      @joaopedrodiniz481 2 года назад

      @@joaomoura6965 Não entendi muito bem, como que você funciona os resultados sem ter que fazer o calculo? poderia me explicar melhor por gentileza?

  • @carloseduardosilvadias4792
    @carloseduardosilvadias4792 3 года назад +319

    Guanabara: Você vê como a matemática é legal?
    Eu sem entender nada: 🤡

    • @samilarodrigues7344
      @samilarodrigues7344 3 года назад +3

      Haha, sim. Tive dificuldade mesmo foi de entender o ‘%’ (tava com outro conceito em mente), mas depois fluiu.

    • @samilarodrigues7344
      @samilarodrigues7344 3 года назад +16

      Minha dica é: faça os cálculos manuais p visualizar melhor. Usando o exemplo das unidades:
      u = num // 1 % 10
      supondo num = 1934.
      1934//1 = 1934
      Esse ‘%’ tá indicando que vamos pegar esse resultado da divisão inteira (o próprio 1934, dividir por 10 e *usar* o valor da resposta como output).
      1934 % 10 = 4
      Funcionou assim pra mim e talvez minha dúvida seja a sua. Espero ter ajudado de alguma forma. :)

    • @jonasmoreiranunes825
      @jonasmoreiranunes825 3 года назад

      kkkkkkkk

    • @sportsmagic2047
      @sportsmagic2047 3 года назад

      verdade jesus

    • @GabrielGLF
      @GabrielGLF 2 года назад

      kkkkkkkkkkkkkkkkkkkkkkkkkkkk exato

  • @eliel6718
    @eliel6718 3 года назад +11

    Esse foi difícil, porque tinha que ser pensado algo meio inesperado. mas é assim que um dev realmente deve ser! Obrigado Professor Guanabara

  • @DomingosOliveira216
    @DomingosOliveira216 Год назад +4

    Esse exercício fio tão aproveitado, útil, que acabei aprendendo coisas que eu não sabia na matemática.
    Excelente trabalho.

  • @vagnertambalo1
    @vagnertambalo1 7 лет назад +21

    Guanabara, difícil pra mim mas entendi sua explicação, foi ótimo! Didática impecável!

  • @alejrcosta
    @alejrcosta Месяц назад

    Não consegui encontrar a resposta sozinho, confesso que matemátca era um desafio que nao dei conta na época de ensino fundamental e médio. Porém, quando Guanabara trouxe a fórmula consegui entender como funciona a regra. Didático demais, me lembra um bom programa do Marcelo Tas, na TV Cultura. Obrigado à todos dessa equipe, todos mesmo, quem colocou a energia nesse projeto merece um mundo de oportunidades.
    Obrigado, mestre Guanabara. Tu é sensacional, um paizão.

  • @PedroHenrique-hp2gd
    @PedroHenrique-hp2gd Год назад +10

    Eu fiz usando str também, no caso eu tive que adicionar os '0' a esquerda no número pra funcionar
    num=('{:0>4}'.format(x))
    Sendo x o número digitado e 4 é a quantidade de dígitos que deseja,
    Daí vai completar os 4 digitos com '0'(s).

  • @rafaelanascimento8047
    @rafaelanascimento8047 2 года назад +73

    Direto de 2022, se você está estudando, não desista!!!
    Fiquei quase 1 semana matutando o código desse exercício, mas acredite a sensação de conseguir é única!
    Você pode não conseguir hoje, mas se persistir amanha você olhará para trás e verá o quão simples esse exercício parece agora. FOCO, por que somos o futuro da programação!
    Essa foi minha resolução:
    num = int(input('Digite um numero: '))
    n = num + 10000
    nn = str(n)
    print(f'A unidade é: {nn[-1]}')
    print(f'A dezena é: {nn[-2]}')
    print(f'A centena é: {nn[-3]}')
    print(f'O milhar é: {nn[1]}')

    • @anjocaramuru
      @anjocaramuru 2 года назад +3

      Você usou o Slicing (Fatiamento)? ! Interessante!

    • @amaury4170
      @amaury4170 2 года назад +4

      Outra solução, muito interessante.
      Pensou bem!

    • @rodrigomoretipimentel5362
      @rodrigomoretipimentel5362 2 года назад +6

      Eh bom ler isso pq eu estava assistindo a resolucao pensando em desistir

    • @JPindanga
      @JPindanga 2 года назад +2

      Essa explicação fez muito mais sentido, era o que eu havia pensado em fazer. usar str ao inves de int e pela ordem crescente dos caracteres, cortar dezena, centana e milhar.
      A explicação dele é coisa de maluco de matemática, qual o sentido de dar esse exercício.... talvez num futuro entenda, mas agora vendo a sua explicação fez sentido, a dele, nenhum.
      obrigado

    • @livesdayrots8584
      @livesdayrots8584 Год назад +3

      não entendi, pode explicar? não entendi os números negativos

  • @davidinacio9634
    @davidinacio9634 5 лет назад +15

    Essa realmente eu não fiz, precisei da explicação do Guanabara, valeu professor! #BoraEstudarPython

  • @ThiagoMigliano
    @ThiagoMigliano 2 года назад +3

    Esse curso alem de me ensinar programação está fazendo eu aprender e lembrar de coisas da matematica que eu nem lembrava..
    Professor obrigado de todo coração por esse curso incrivel!

  • @santiagobvieira
    @santiagobvieira Год назад +2

    os comentários tem ajudado bastante. Uma verdadeira aula aqui

  • @wdstoretx
    @wdstoretx 2 года назад +2

    É muito boa a prática de dar nomes mais explicativos para as nossas variáveis, por exemplo matrícula_do_aluno, ao invés de apenas mat. Isso ajuda muito quando precisamos revisar, estudar ou alterar o código. Fica a dica. As vezes a preguiça ou a vontade de ganhar tempo acaba nos prejudicando lá na frente.

  • @alekaum
    @alekaum 4 года назад +9

    Façam as contas no caderno. Só depois que fiz umas 3 vezes que entendi o que ele explicou sobre o resto da divisão indicar a unidade, dezena, centena e milhar.

  • @yasmimbittar8662
    @yasmimbittar8662 3 года назад +175

    Galera, pra ficar mais claro:
    o símbolo // faz a divisão e só pega o que esta antes da vírgula.
    o símbolo % faz a divisão e só pega o que esta depois da vírgula.

    • @PedroHenrique-gu5yp
      @PedroHenrique-gu5yp 3 года назад +19

      Não é isso não! O símbolo de % pega o resto da divisão, não a parte decimal.

    • @Edurrangel
      @Edurrangel 3 года назад +4

      @@PedroHenrique-gu5yp O resto inteiro, diga-se de passagem

    • @PedroHenrique-gu5yp
      @PedroHenrique-gu5yp 3 года назад +1

      @@Edurrangel Perfeito!

    • @Marckvpn02
      @Marckvpn02 2 года назад +1

      Obrigado pelo esclarecimento

    • @vitor9047
      @vitor9047 Год назад

      @@PedroHenrique-gu5yp isso ai pvt

  • @peristiloperis7789
    @peristiloperis7789 6 лет назад +166

    Até comecei a pensar algo parecido com a solução do Guanabara, pois não queria usar outros conhecimentos além dos ensinados. Mas a porra dos 'ifs' ficavam martelando meu juízo: 'usa if, usa if, usa if' kkkkk. Aí falhei.

    • @Enzoerb
      @Enzoerb 5 лет назад +10

      eu usei if tbm hahahah, o codigo ficou gigante
      number = float(input('Digite um número inteiro de 0 a 9999: '))
      if(number > 9999):
      print('esse número é maior que 9999')
      elif(number >= 1000):
      number = str(number)
      unidade = number[3]
      dezena = number[2]
      centena = number[1]
      milhar = number[0]
      decimais = number[4:]
      print('Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}
      Decimais: {}'.format(unidade, dezena, centena, milhar, decimais))
      elif(number >= 100):
      number = str(number)
      unidade = number[2]
      dezena = number[1]
      centena = number[0]
      milhar = 0
      decimais = number[3:]
      print('Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}
      Decimais: {}'.format(unidade, dezena, centena, milhar, decimais))
      elif(number >= 10):
      number = str(number)
      unidade = number[1]
      dezena = number[0]
      centena = 0
      milhar = 0
      decimais = number[2:]
      print('Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}
      Decimais: {}'.format(unidade, dezena, centena, milhar, decimais))
      elif(number >= 0):
      number = str(number)
      unidade = number[0]
      dezena = 0
      centena = 0
      milhar = 0
      decimais = number[1:]
      print('Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}
      Decimais: {}'.format(unidade, dezena, centena, milhar, decimais))
      elif(number < 0):
      print('esse número é menor que 0')
      else:
      print('numero não compativel')

    • @fernandorafael9560
      @fernandorafael9560 5 лет назад +9

      @@Enzoerb numero = str(input("Digite um numero de 1 a 9999: "))
      print("A casa do milhar vale:, ", numero[0])
      print("A casa da centena vale: ", numero[1])
      print("A casa da dezena vale: ", numero[2])
      print("A casa da unidade vale: ", numero[3])
      Tão pequeno, tão compacto. rsrs
      gosto da simplicidade. kkkkk

    • @pcold590
      @pcold590 5 лет назад +9

      Se for viciado em if provavelmente veio do JavaScript

    • @joaosilva-er9ul
      @joaosilva-er9ul 5 лет назад

      @@fernandorafael9560 poha :0

    • @asoldb
      @asoldb 5 лет назад +5

      @@fernandorafael9560 Mas se o usuário digitar 1 ou 23, 333 vai dar erro. Mas se colocar um .zfill(4) no final da line 1, sucesso total amigo (pesquisei na net esse comando).
      Tinha feito dessa forma que você fez, ai pensei nos usuários inteligentes que colocam números a mais (que no caso do exercício não teremos problemas) ou número a menos.

  • @netenhy
    @netenhy 10 месяцев назад

    Tenho 14 anos e me interesso por programação desde os 9 anos, eu completei esse curso ano passado mas fiquei 1 ano sem estudar e cá estou eu de novo, reassistindo para relembrar de tudo e resolvendo todos exercicios de novo, e me trazendo um conhecimento maior do que eu tinha antes, muito obrigado por esse curso Guanabara!
    Fiz duas resoluções pro exercicio, essa do video e outra utilizando o if e o elif, sei como usar pq ja tinha visto o curso inteiro anteriormente.

  • @Solnax
    @Solnax 9 месяцев назад

    Senhor Guanabara me faz quebrar a cabeça, na primeira vez no exercício do seno, cosseno e tangente, agora nesse exercício.

  • @carolinesampaio6994
    @carolinesampaio6994 Год назад +4

    Eu fiz de um jeito que parece não ser o mais correto mas funcionou kkkk. Vou anotar a opção do prof tbm
    n1 = input('Digite um número de 0 a 9999: ')
    n2 = '000' + n1
    print(f'unidade: {n2[-1]}
    dezena: {n2[-2]}
    centena: {n2[-3]}
    milhar: {n2[-4]}')

    • @prof_tigas
      @prof_tigas 9 месяцев назад

      num = input('Digite um número natural qualquer: ')
      print('Analisando o número {}...'.format(num))
      print('Unidade: {}'.format(num[len(num)-1]))
      print('Dezena: {}'.format(num[len(num)-2]))
      print('Centena {}'.format(num[len(num)-3]))
      print('Milhar {}'.format(num[len(num)-4]))

  • @nathalilopez4588
    @nathalilopez4588 4 года назад +6

    Fiz de um jeito mais extenso, mas pra mim, mais simples de entender. Porém usei a estrutura condicional if/else, que ele só vai explicar mais pra frente, mas acabei pesquisando pra poder usar. No meu caso, também não usei o .format porque não é mais necessária na versão do pycharm que estou usando. Só preciso colocar a letra f antes da string e colocar as variáveis dentro dos colchetes. Lá vai:
    numero = str(input('Digite um número entre 0 e 9999: '))
    quant = len(numero)
    print(f'Analisando o número {numero}:')
    if quant == 1:
    print (f'Unidade: {numero}')
    elif quant == 2:
    print (f'Unidade: {(numero[1])}')
    print (f'Dezena: {(numero[0])}')
    elif quant == 3:
    print (f'Unidade: {(numero[2])}')
    print (f'Dezena: {numero [1]}')
    print (f'Centena: {numero[0]}')
    elif quant == 4:
    print (f'Unidade: {(numero[3])}')
    print (f'Dezena: {(numero[2])}')
    print (f'Centena: {(numero[1])}')
    print (f'Milhar: {numero[0]}')
    ____________________________ Espero ter ajudado!

  • @Gamexx1000
    @Gamexx1000 7 лет назад +13

    Guanabara é meu professor e a aula não me faltará

  • @thomass3085
    @thomass3085 10 месяцев назад

    nesse exercicio em relação aos outros eu n tive nenhuma dificuldade, to me sentindo feliz pq foi um avanço de 2 semanas de esforço.
    Muito obg Guanabara :)

  • @lucasrondinele6943
    @lucasrondinele6943 3 года назад +2

    Eu fiz assim
    numero = f'{input("Digite um número entre 0 e 9999: ").strip():0>4}'
    print(f'Unidade: {numero[3]}
    '
    f'Dezena: {numero[2]}
    '
    f'Centena: {numero[1]}
    '
    f'Milhar: {numero[0]}')
    Na primeira linha eu completo com "0" s pra que o número posto todas as vezes tenha 4 digitos
    Depois, escrevo somente o número da quarta posição, dps da terceira, segunda, primeira
    E fim do exercício
    Fiquei mt orgulhoso dessa solução :)
    E além disso, foi nesse exercício que minha cabeça deu um "click", entendendo um pouco do que ele disse sobre o python ser "orientado a objetos", aquilo que eu pensei que era só uma formatação do print, na vdd era tbm um objeto que eu poderia usar pra outras coisas

  • @bymax1976
    @bymax1976 7 лет назад +159

    Esse eu achei mais complicado e não consegui..

    • @computamat4401
      @computamat4401 6 лет назад +14

      // equivale a uma divisão total , no caso deixando apenas a parte inteira. Ex:19//2 = 9 , pois essa é a parte inteira. % equivale ao resto , o resto da divisão inteira é 1 , pois 19/2 fica 9 e sobra 1 , que dividido por 2 fica 0,5 logo 19/2=9,5 . Sendo assim quando colocamos o comando x//1=x ele divide por um e da o resultado, que no caso será dividido pelo resto x %10 , que divide o número total com uma casa para trás , ficará assim 0,x

    • @davisilvavaladao8989
      @davisilvavaladao8989 6 лет назад +7

      po cara nao é tao dificil assim, eu completei facil facil olha:
      numero=str(input('Digite um número de quatro digitos:'))
      print('A sua unidade é: {}'.format(numero[4]))
      print('A sua dezena é: {}'.format(numero[3]))
      print('A sua centena é: {}'.format(numero[2]))
      print('E seu milhar é: {}'.format(numero[1]))

    • @SkyeLotuss
      @SkyeLotuss 6 лет назад +1

      Eu tambem!

    • @Morais.c
      @Morais.c 6 лет назад +8

      Fox_ Psyduck! kkkk men o seu vai dar resultado errado, para mim esse foi dificil ;-; sou pessimo em mat.

    • @brlucastoo1277
      @brlucastoo1277 6 лет назад +1

      Ola, acho que seu codigo da erro. Pois o indice comeca em 0 e nao em 1. O numero=9875 a unidade é numero[3], dezena numero[2], centena numero[1], milhar numero[0].

  • @lucasdesouza9674
    @lucasdesouza9674 6 лет назад +289

    Achei complicado nao consegui :(

    • @elisagnr
      @elisagnr 6 лет назад +1

      Lucas S. Eu também não

    • @limmobr5016
      @limmobr5016 6 лет назад

      Eu também

    • @vitormeireles1830
      @vitormeireles1830 6 лет назад +5

      num = int(input('numero: '))
      print('unidade: {}'.format(num%10))
      num = num // 10
      print('dezena: {}'.format(num%10))
      num = num // 10
      print('centena: {}'.format(num%10))
      num = num // 10
      print('milhar: {}'.format(num%10))

    • @cavalli78
      @cavalli78 6 лет назад +15

      o meu ta mais simples, so lembrar, começa pelo 0
      num = str(input('Digite um valor de 0 a 9999: '))
      s = num[3]
      s2 = num[2]
      s3 = num[1]
      s4 = num[0]
      print('Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}'.format(s, s2, s3, s4))

    • @almeidaGGG_
      @almeidaGGG_ 6 лет назад +3

      @Guilherme Cavali qualquer numero abaixo de 1000 não funciona

  • @jeovanemsantos
    @jeovanemsantos 9 месяцев назад +3

    eu fui fazer achando que era pra fazer só por string, fiz um monte de caminhos usando if, elif e else junto com a parte de chamar exclusivamente alguma parte da string, no final deu certo e vejo que poderia só ter usado os conceitos matematicos mesmo 🤡

  • @Aeslybr
    @Aeslybr 11 месяцев назад

    Para mim foi o mais difícil, tinha colocado com índice negativo, porém não daria certo se viesse algum número com 1, 2 ou 3 dígitos.
    Mas com esta solução usando // e %, nem imaginava a necessidade de usar estes operadores, mas com esta solução comecei a entender um pouco disso.

  • @britobeatles
    @britobeatles 4 месяца назад +2

    Eu usei zfill(4) pra completar com zeros, quando colocarem números menores!

    • @OgSilvaNeto
      @OgSilvaNeto 3 месяца назад

      isso, fazendo isso somente com strings, funciona o código.
      numero = int(input('Digite um número: '))
      num = str(numero)
      num = num.zfill(4)
      u = num[3]
      d = num[2]
      c = num[1]
      m = num[0]
      print(f'Analisando {numero}...')
      print(f'Unidade: {u}')
      print(f'Dezena: {d}')
      print(f'Centena: {c}')
      print(f'Milhar {m}')

  • @ivanpedrominiprogramador
    @ivanpedrominiprogramador 3 года назад +4

    De todos os exercícios até agora, esse foi o único que eu quebrei a cabeça pensando em formas de como resolver, é não consegui

  • @jelsonpakas750
    @jelsonpakas750 3 года назад +17

    Esse foi difícil 😴😊😊
    Mais alguém fazendo o curso nesse ano?🤔

  • @BrunoFigueiredo26
    @BrunoFigueiredo26 5 лет назад +9

    As aulas são foda! Mas este exercício achei difícil pra caralho (não sou programador).

  • @santiagodiniz1858
    @santiagodiniz1858 2 года назад +1

    Muito obrigado pelo vídeo, era essa formula que faltava para eu concluir o meu código.

  • @giovannarodrigues8264
    @giovannarodrigues8264 Год назад

    Eu resolvi utilizando o trunc() apresentado na aula 8, mas achei muito interessante essa resolução matemática do Guanabara.

  • @matheusferreira6148
    @matheusferreira6148 2 года назад +4

    Esse confesso que não consegui fazer sozinho.

  • @victorfranco6420
    @victorfranco6420 2 года назад +6

    fiz por string:
    n = input('informe um numero de 0 a 9999: ')
    print('unidade: ', n[-1:])
    print('dezena: ', n[-2:-1])
    print('centena: ', n[-3:-2])
    print('milhar: ', n[-4:-3])
    funcionou.

    • @brasiliano3201
      @brasiliano3201 2 года назад

      Pode me explicar o pq desses dois pontos após o primeiro número? Eu também fiz por string e ficou assim:
      num = input('Digite um número entre 0 e 9999: ')
      num = num[::-1] + '000'
      print(f'Unidades: {num[0]}
      Dezenas: {num[1]}
      Centenas: {num[2]}
      Milhar: {num[3]}')

    • @danielcarvalho4483
      @danielcarvalho4483 2 года назад

      @@brasiliano3201 eu tinha feito assim tambem, porem quando eu digito numero menores ai que da pra ver que esta inclopleto dessa forma

  • @eduardopinto3514
    @eduardopinto3514 7 лет назад +155

    Eu resolvi utilizando ele como string, porem eu preenchi os espaços com zero caso o numero nao tivesse 4 digitos. Tem um metodo de string q faz isso. O cod ficou assim:
    num=str(input('Digite um numero de 0 a 9999: ')).zfill(4)
    print('O numero digitado foi: {}',num)
    print('Unidade: {}'.format(num[3]))
    print('Dezena: {}'.format(num[2]))
    print('Centena: {}'.format(num[1]))
    print('Milhar: {}'.format(num[0]))
    Testa ai :)

    • @diegohunter20
      @diegohunter20 7 лет назад +3

      Estava tentando por string. Valeu pela indicação do método :)

    • @desmondlyan2732
      @desmondlyan2732 7 лет назад +5

      cara essa foi show eu tive que acabar tendo que usar uns IFs (condições) achei paia pq eu não queria usar "if" pq o curso mesmo ainda não tinha abordado os ifs quando lançaram os desafios

    • @TheMatrixmp3
      @TheMatrixmp3 7 лет назад +1

      Melhor resposta até agora!!! Show!!!

    • @JogatinasdeQuinta
      @JogatinasdeQuinta 7 лет назад

      Fiz da mesma forma, só que tem um porem, se colocar espaço entre o números ele vai colocar vazio na resposta

    • @rianpablo5472
      @rianpablo5472 7 лет назад

      Eduardo eu tentei esse comando e deu certo só q eu nao entendi akele zfill(4) vc pode me explicar oq e isso e pra que serve? '-' pf

  • @play_bad4321
    @play_bad4321 Год назад

    eu fiz de outro jeito!
    n = input('Digite um numero: ')
    separar_espaco = ' '.join(n)
    separando_lista = separar_espaco.split()
    separando_lista.insert(0,0)
    separando_lista.insert(1,0)
    separando_lista.insert(2,0)
    print(f'Unidade: {separando_lista[-1]}')
    print('Dezena: {}'.format(separando_lista[-2]))
    print('Centena: {}'.format(separando_lista[-3]))
    print(f'Unidade de milhar: {separando_lista[-4]}')
    O bom de vir nos comentarios é que cada um conseguiu fazer de um jeito! Show de bola!!!

  • @HabemusShell
    @HabemusShell 3 года назад

    É, fiz em strings, e realmente dava ruim com um número que não tivesse 4 dígitos. Como não entendi a lógica que você fez, tive q pegar o velho lápis e papel e fazer na unha os cálculos para entender essa lógica. Realmente, deu certo. Obrigado !!!

    • @PedroHenrique-hp2gd
      @PedroHenrique-hp2gd Год назад

      É possível fazer em str, mas tenq adicionar os '0' a esquerda com: num=('{:0>4}'.format(x))
      x é o número digitado e 4 é a quantidade de dígito que vc irá usar, daí vai adicionar '0'(s) a esquerda do número digitado completando 4 digitos, a partir daí da pra usar str de boa

  • @mykeapo
    @mykeapo 7 лет назад +48

    Nesse vídeo não apareceu a enquete.

    • @PedroAugusto-ck6hq
      @PedroAugusto-ck6hq 4 года назад +3

      kkkkkkkkkk acho que já era meio obvio pro guanabara as respostas

  • @JonasFelixBR
    @JonasFelixBR 5 лет назад +41

    Esse foi o primeiro que mesmo vendo a solução eu não entendi O_o

    • @abiatan8463
      @abiatan8463 3 года назад +1

      @João xd depois q vc explicou me senti um idiota, tão simples, kkkkkkkkkkkkk vlw

    • @joaozinho3097
      @joaozinho3097 3 года назад +1

      @João xd obrigado, eu passei 5 horas quebrando a cabeça nesse exercício, muito obrigado msm

  • @lucastoledobm
    @lucastoledobm 2 года назад +34

    Pessoal, para quem ficou com dúvida eu fiz dessa forma:
    n=input('Digite um número inteiro de 0 até 9999: ')
    m=f'{n:0>4}'
    print(f'Unidade: {m[3]}
    Dezena: {m[2]}
    Centena: {m[1]}
    Milhar: {m[0]}')
    Na segunda linha eu mando o programa ter 4 casas e preencher com 0 as casas vazias. Então se o número é 23 ele fica 0023. Depois na terceira linha eu só mando o programa dizer cada casa como se fosse um frase split. Lembrando que o
    é só para pular de linha.

    • @leonardosextare5572
      @leonardosextare5572 Год назад +3

      Fiz usando a mesma logica, porém queria me limitei a utilizar os comandos de string ensinados:
      num = str(input('Digite um numero entre 0 e 9999: '))
      num = num.replace(num, (4-len(num))*'0' + num)
      print(num)
      print('Numero Digitado: {}
      Unidade: {}
      Dezena: {}
      Centena: {}
      Milhar: {}'.format(num,num[3],num[2],num[1],num[0]))

    • @marcoreus5782
      @marcoreus5782 Год назад +1

      @@leonardosextare5572 vc e maluco

    • @lgtorresbr
      @lgtorresbr Год назад

      Muito legal!

    • @a1kron
      @a1kron Год назад

      Opa, usei a sua forma e acrescentei algumas coisas como, se o número ter mais que 4 dígitos vc recebe uma mensagem de erro e,
      se o número digitado ter menos que 5 números ele prossegue para a tela que mostra as unidades, dezenas, etc.
      num = int(input('Digite um numero inteiro de 0 a 9999: '))
      m = f'{num:0>4}'
      if len(m) > 4:
      print('ERRO: O valor digitado tem mais que 4 dígitos. Tente novamente.')
      elif len(m) < 5:
      print(f'Unidade: {m[3]}')
      print(f'Dezena: {m[2]}')
      print(f'Centena: {m[1]}')
      print(f'Milhar: {m[0]}')
      !(Lembrando que isso usado no código ainda não foi ensinado até a aula 09, eu só dei uma pesquisada na Internet pra completar)!

  • @balbino4
    @balbino4 Год назад

    Muito obrigado, Guatavo Guanabara.

  • @michaelpaulino7237
    @michaelpaulino7237 3 года назад

    Avia feito no modo string, cheguei a ver o erro, porém não sabia/lembrava da formula matemática, mas entendi, executei e testei!

  • @Lukitax
    @Lukitax 2 года назад +5

    Eu fiz desse jeito:
    pergunta = int(input('Digite um numero: '))
    soma = 10000 + pergunta
    resultado = str(soma)
    uni = resultado[4]
    dez = resultado[3]
    cen = resultado[2]
    mil = resultado[1]
    print('Unidade: {}'.format(uni))
    print('Dezena: {}'.format(dez))
    print('Centena: {}'.format(cen))
    print('Milhar: {}'.format(mil))

    • @gustavogama4971
      @gustavogama4971 2 года назад +2

      Ficou bom. Mas como a aula referente foi manupulação de strings, eu preferir usar apenas strings e listas. Olha ai:
      n = str(input('Digite um número entre 0 e 9999: ')).strip()
      print(f'Analisando o número {n}')
      n = list(n)
      n0 = ['0', '0', '0', '0']
      n0[len(n):] = n
      print(f'Unidade: {n0[-1]}')
      print(f'Dezena: {n0[-2]}')
      print(f'Centena: {n0[-3]}')
      print(f'Milhar: {n0[-4]}')

    • @Lukitax
      @Lukitax 2 года назад +1

      @@gustavogama4971 CARACA!

    • @gustavogama4971
      @gustavogama4971 2 года назад +2

      @@Lukitax Não é nada demais mano, já tenho experiencia em outras linguagens de programação. Só um toque que eu te dou, é evitar esses tipos de "Gambiarras" em algoritmos futuros, porque se um assuario usa seu algoritmo de forma "errada", ( e os usuários sempre fazem isso... rs), o seu algoritmo buga. Tipo, se usuario colocar um numero maior que 10000, o seu algoritmo vai dar uma resposta errada, no meu não. Mas com o tempo vc vai aprendendo a evitar esses bugs.

    • @Lukitax
      @Lukitax 2 года назад

      @@gustavogama4971 Valeu pela dica meu mano!

    • @shijuzi
      @shijuzi 2 года назад

      transcendeu mlk

  • @yqu3
    @yqu3 7 лет назад +222

    nem passou na minha cabeça essa parada de resto da divisão e ainda nem to entendendo como funcionou :(

    • @danielantunes7666
      @danielantunes7666 7 лет назад +197

      Cara, eu peguei um papel e fiz as contas e consegui entender. Não sei se você ainda tem dúvida, mas vou tentar explicar(sou péssimo explicando):
      Usaremos o número 1957 para fazer as contas... Este código que o Guanabara usou, poderia ser simplificado para isto(O resultado vai ser o mesmo, pode testar):
      u = n % 10
      d = n // 10 % 10
      c = n // 100 % 10
      m = n // 1000
      u recebe o resto da divisão inteira entre 1957 e 10 --> 1957 // 10 = 195 (10x195 = 1950), o resto dessa divisão é 7, logo, a unidade é 7.
      d recebe o resultado da divisão inteira entre 1957 e 10, esse resultado vai ser dividido por 10 novamente e pegará o resto dessa divisão, ficando assim: 1957 / 10 = 195(neste caso é o resultado da divisão inteira, não o resto) --> dividindo esse resultado por 10: 195 // 10 = 19 (19x10 = 190). Agora sim pegaremos o resto da divisão, que é 5. Logo, a dezena e 5.
      c = Aqui é o mesmo processo anterior, só que dividindo por 100 --> 1957 // 100 = 19(resultado da divisão inteira). Agora faremos 19 // 10 = 1 (O resto dessa divisão inteira é 9). A centena é 9.
      m recebe o resultado da divisão inteira entre 1957 e 1000 --> 1957 / 1000 = 1 (pronto, 1 é o milhar).
      Obs: Lembre-se que divisão inteira pega apenas a parte inteira do número, diferente da divisão "normal" que daria valores com vírgula.
      Espero ter ajudado, abraços :D

    • @cicerosistemas
      @cicerosistemas 7 лет назад +2

      nem na minha

    • @Sodrevarela
      @Sodrevarela 7 лет назад +4

      Eu ate comecei a fazer como string achei as unidades blz, so que quando chegou nos outros códigos ai travou tudo na cabeça e não consegui resolver mais nada. rsrsrs. mais também nem passou na cabeça de fazer pelo resto da divisão.

    • @vinivaliaticos4560
      @vinivaliaticos4560 6 лет назад +1

      vlw mano n tinha entendido agr eu consegui

    • @shirleyalicesilva8647
      @shirleyalicesilva8647 6 лет назад +11

      Eu também não. Achei o exercício bem difícil, já que o que foi explicado na aula 9 não viabiliza a resolução.

  • @pierreniau5947
    @pierreniau5947 2 года назад +15

    Sem matemática, manipulando apenas string:
    num = input('Digite um número entre 0 e 9999: ')
    # Formata a string com 4 espaços, alinhado à direita e completa com 0
    num = '{:0>4}'.format(num)
    print('Unidades: {}'.format(num[3]))
    print('Dezenas: {}'.format(num[2]))
    print('Centenas: {}'.format(num[1]))
    print('Milhares: {}'.format(num[0]))

  • @DanielSDiniz
    @DanielSDiniz 2 года назад

    Esse exercício não é difícil, só tem uma informação que ainda não havia sido dita e o professor deixou a explicação um pouquinho complicada. Mas de modo geral, ele fez uma divisão e usou um recurso do resto que permite mostrar o item mais à direita de um número. Por exemplo: em um número X o % 10 vai mostrar o número mais a direita após a vírgula, ou seja, em um número como 1253, o número mais a direita é 3 que vai ser a unidade. Aplicando essa linha de raciocínio, quando ele começa a dividir ele afasta a vírgula e consegue exibir o último número à direita, por exemplo: 1253//10 = 125,3 onde o 5 é o último número à direita da divisão inteira, representando as dezenas. O "% 10" é o que permite ver esse número.
    Espero ter ajudado de alguma forma. Muito obrigado professor pelo conteúdo.
    Uma dica muito válida é buscar materiais na internet explicando algumas lacunas da aula ou aprofundando o que foi dito, assim se ganha muita informação valiosa

  • @Vyneeh1
    @Vyneeh1 5 месяцев назад +1

    Caramba... peguei pra fazer o exercício, fiz com 2 for loops e uma porrada de if conditions... me senti muito do burro vendo a solução, mas foi muito bom!

  • @alanfelipe9461
    @alanfelipe9461 2 года назад +7

    Eu sofri pra fazer e foi um pouco diferente, então segue a minha resolução.
    1. Pedi para digitarem um número (a)
    2. Garanti que o valor colocado fosse preenchido com 0 até chegar em 4 dígitos e pedi que fosse alinhado para a direita ({a:0>4}). Então se fosse digitado o valor 1, ele ficaria como 0001. Além disso, dei um split, pra que pudesse dividir na etapa seguinte.
    3. Na parte do print, coloquei a primeira palavra que tinha dado o split (no exemplo do passo 2 seria [0001] e pedi o que queria. Exemplo, para a unidade foi {b[0][3]}, já que era a primeira palavra e o quarto digito. Para o milhar foi {b[0][0]} pq queria a primeira palavra e o primeiro digito.
    a = input('Digite um número de até quatro digitos: ')
    b = f'{a:0>4}'.split()
    print(f'Unidade é: {b[0][3]}')
    print(f'dezena é: {b[0][2]}')
    print(f'centena é: {b[0][1]}')
    print(f'milhar é: {b[0][0]}')

  • @bam.polyglot
    @bam.polyglot 4 года назад +25

    Gente, não se preocupem com esse exercícios por não terem entendido a parte matemática. Com estruturas condicionais é bem mais simples (inclusive penso que esse exercício deveria ser passado só depois desse assunto).
    Uma das formas possíveis seria:
    numero= input('Digite um número inteiro de 0 a 9999. ')
    #Apaga os espaços a fim de não considerá-los na contagem.
    formatado=numero.replace(' ','')
    #O programa aparece a mensagem erro caso o usuário ultrapasse os 4 algarismos.
    if len(formatado) > 4:
    print('Erro. Só são permitidos números de 4 algarismos')
    else:
    if len(formatado)==4:
    print('Milhar: {}'.format(formatado[0]))
    print('Centena: {}'.format(formatado[1]))
    print('Dezena: {}'.format(formatado[2]))
    print('Unidade: {}'.format(formatado[3]))
    if len(formatado)==3:
    print('Centena: {}'.format(formatado[0]))
    print('Dezena: {}'.format(formatado[1]))
    print('Unidade: {}'.format(formatado[2]))
    if len(formatado)==2:
    print('Dezena: {}'.format(formatado[0]))
    print('Unidade: {}'.format(formatado[1]))
    if len(formatado)==1:
    print('Unidade: {}'.format(formatado[0]))
    Mesmo se vcs estiverem achando difícil olhando assim, tudo isso é muito simples, vcs vão ver quando estudar o assunto. Nesse caso, por exemplo, se o número for maior que quatro algarismos o sistema vai dar erro e os if's servem pra ele mostrar um resultado coerente para o tanto de algarismos. Assim, não vai acontecer um problema de 129 ser lido como 1290.
    Não desanimem. Continuem firmes no estudo de programação. Estamos juntos nessa jornada. E obrigado ao Gustavo Guanabara por disponibilizar esse curso tão bom! ☺♥

  • @rafaelsena7367
    @rafaelsena7367 6 лет назад +24

    Bom, so aprendi o que ele ensinou até agora, e lembro que uma aula ele ensinou a escrever o nome com sinal igual do lado ====Gustavo==== e dava pra colocar pra direita, esquerda ou centralizado com > ou < ou ^ ...pensando nisso fiz esse codigo
    n = input('Escreva um número de 0 até 9999 ')
    v = ('{:>4}'.format(n))
    print('Unidade {}
    Dezena {}
    Centena {}
    Milhar {}'.format(v[3], v[2], v[1], v[0]))
    a unica parte que importa mesmo é v = ('{:>4}'.format(n))
    lembra do exemplo? print('Bem vindo {:=^20}!'.format(name))
    peguei esse comando da aula 7 aos 23:25 minutos e tirei tudo que não precisava...

    • @EmmanuelLira
      @EmmanuelLira 4 года назад

      Pensei a mesma coisa

    • @laraqueiroz5675
      @laraqueiroz5675 2 года назад

      Pensei na mesma coisa, mas nao lembrei dessa aula! Muito bom!

    • @mafiax3br
      @mafiax3br 2 года назад

      Boa Rafael! Eu também fiz dessa forma depois de consultar as anotações

  • @edilsonrastafare
    @edilsonrastafare 3 месяца назад

    Consegui, Recomendo que continuem os estudos, pois vai valer muito a pena.
    Exercício 23:
    nnum = int(input('Digite um numero: '))
    num += 10000
    n = str(num).strip()
    print(f'A unidade: {n[4]}
    A dezena: {n[3]}
    A centena: {n[2]}
    O milhar: {n[1]}')

  • @juniori_6146
    @juniori_6146 3 года назад +1

    Entender eu entendi 100%, mas nunca que eu iria imaginar isso na vida kkkkkkkkkkkkk, fiquei tentando diversos meios por mais de hora e só consegui vendo a resolução.

  • @jeffersonldiniz
    @jeffersonldiniz 3 года назад +5

    Como o outro coleguinha aqui nos comentário, também fiz do "jeitinho brasileiro"
    num = input('Digite um número: ')
    num2 = num.replace(num,'000'+num)
    print(f'unidade: {num2[-1]}')
    print(f'dezena: {num2[-2]}')
    print(f'centena: {num2[-3]}')
    print(f'milhar: {num2[-4]}')

  • @knack_br6952
    @knack_br6952 Год назад +18

    Achei um modo que requer menos matemática e que pelo menos eu achei mais fácil e simples
    num = int(input('Digite um número inteiro de 1 até 9999: ')) + 1000# Lê o número e adiciona 1000 nele, para que tenha as 4 casas necessárias.
    strnum = str(num)# Trasforma o número em uma string para poder ser usado com os colchetes (se não me engano isso se chama indexação, ou algo assim).
    print(f'Unidade: {strnum[3]}')# O número tem 4 casas por conta dos 1000 adicionados acima,
    print(f'Dezena: {strnum[2]}')# então não existe problema caso o número digitado seja de menos de menos de 4 casas.
    print(f'Centena: {strnum[1]}')
    print(f'Milhar: {int(strnum[0]) - 1}')# trasforma a primeira casa do número em inteiro, e então subtrai 1 dele, para remover aqueles 1000 adicionados anteriormente.
    Quem não entender algo, é só testar por si próprio. Até então não descobri nenhum erro nele
    Edit: nas respostas tem um erro junto com uma solução

    • @silviodossantosneto6665
      @silviodossantosneto6665 Год назад +5

      Esse código vai funcionar até o número 8999 e a partir de 9000 ele vai dar o resultado inesperado, pq o valor vai passar a ter 5 dígitos e não 4.
      A única maneira que eu encontrei, sem usar a matemática que o guanabara mostrou é usando estrutura de repetição "if" (assim como o próprio guanabara citou no vídeo)

    • @VashBSJ
      @VashBSJ Год назад +5

      @@silviodossantosneto6665 se acrescentar 10000 ao invés de 1000, da certo sendo o milhar [1] ao invés de [0]
      num = int(input('Digite um número inteiro de 1 até 9999: ')) + 10000
      strnum=str(num)
      print(f'unidade {strnum[4]}')
      print(f'dezena {strnum[3]}')
      print(f'centena {strnum[2]}')
      print(f'milhar (strnum[1]}')

    • @silviodossantosneto6665
      @silviodossantosneto6665 Год назад

      @@VashBSJ ah verdade, dá pra fazer isso

    • @toaalmeida
      @toaalmeida Год назад +1

      @@VashBSJ que solução inteligente!

    • @ACauan000
      @ACauan000 Год назад +1

      obg amigo, passei mais de hora tentando fazer algo semelhante com .format, mas n vai de jeito nenhum

  • @edigar07drum
    @edigar07drum 2 года назад +15

    Outra forma:
    n = input("Número: ")
    variavel = 4-len(n)
    novo = n.replace(n, "0"*variavel+n)
    print("Unidade: ", novo[3])
    print("Dezena: ", novo[2])
    print("Centena: ", novo[1])
    print("Milhar: ", novo[0])

    • @brunocoelhosantos2236
      @brunocoelhosantos2236 2 года назад +1

      Puts cara, custei mas acho que entendi.
      ---------------------------------------------------------------------------------------------------------------------------------------------
      variavel = 4-len(n)
      # 4 menos o número de caracteres.
      -------------------------------------------------------------------------------------------------------------------------------------------
      novo = n.replace(n, "0"*variavel+n)
      # Trocando "n" por 0 vezes "variável" mais o próprio "n".
      # Sempre multiplica a "varíável" por 0 pq se a casa no "n" não existir, ele imprime "0" nela, se ela existir, imprime o que está na casa.

    • @jhenniferazevedo7011
      @jhenniferazevedo7011 2 года назад +1

      @@brunocoelhosantos2236 eu aproveitei pra deixar isso que ele fez anotado no meu caderno, sinto q vai ser útil para a mim.

    • @brunocoelhosantos2236
      @brunocoelhosantos2236 2 года назад

      @@jhenniferazevedo7011 kkkkkkk mas ele editou. A resolução era de óutra forma, usando um tipo de lista. Mas tá valendo, talvez seja resolvido desse jeito mais pra frente.

    • @tonyoliveira7543
      @tonyoliveira7543 2 года назад

      Você é o verdadeiro gênio.

    • @edigar07drum
      @edigar07drum 2 года назад +1

      @@brunocoelhosantos2236 Isso mesmo. Para adicionar os zeros à esquerda quando o número do input tiver menos que 4 casas.

  • @eduardolouzada8925
    @eduardolouzada8925 8 месяцев назад

    # Resolução por caminho de String
    print('
    A resolução abaixo será realizada por manipulação de string
    ')
    num1 = float(input('Digite um número de 0 a 9999: '))
    num1 = int(num1)
    num1 = str(num1)
    num2 = ('0000')
    num12 = num2 + num1
    num12 = ''.join(reversed(num12))
    print(f'unidade: {num12[0]}')
    print(f'dezena: {num12[1]}')
    print(f'centena: {num12[2]}')
    print(f'milhar: {num12[3]}')
    Que aulas incríveis! Obrigado, professor! :)
    Depois de um tempinho quebrando a cabeça, graças a Deus, está sendo possível compartilhar um código que usa mais manipulação de strings do que operações matemáticas.

  • @felipemagnus
    @felipemagnus 6 месяцев назад

    Como o Guanabara passou esse exercício em outro vídeo, resolvi ele antes de ver este vídeo, tratando o número como string e usei uma série de If-else. Deu o mesmo resultado mas muito mais trabalho kkkk

  • @livesdayrots8584
    @livesdayrots8584 Год назад +4

    Meta de trabalhar na área ainda em 2023!!!! hoje 18/12/22
    "você sabe que os desafios estão ficando difíceis quando não consegue resolver sozinho" persistência!!!
    EXERCICIO#023
    numero = int(input('Informe um número: '))
    uni = numero // 1 % 10
    dez = numero // 10 % 10
    cen = numero // 100 % 10
    mil = numero // 1000 % 10
    print(f"""Analizando o número {numero}
    Unidade: {uni}
    Dezena: {dez}
    Centena: {cen}
    Milhar: {mil}""")

    • @brandaum1959
      @brandaum1959 Год назад +1

      Eita, tenho um concorrente então...

    • @livesdayrots8584
      @livesdayrots8584 Год назад +2

      @@brandaum1959 n gosto de concorrência, prefiro me aliar com meus rivais

  • @raposa1152
    @raposa1152 6 лет назад +7

    n = str(input('informe um numero'))
    print('Unidade:{}'.format(n[0:1]))
    print('Dezena: {}'.format(n[1:2]))
    print('Centena:{}'.format(n[2:3]))
    print('Milhar: {}'.format(n[3:]))

    • @victormeireles1906
      @victormeireles1906 2 года назад +1

      O problema é que dessa forma só vai funcionar se for um número entre 1000 e 9999, qualquer número de 3 dígitos vai bagunçar tudo.

    • @cicerofiliperochadasilva2215
      @cicerofiliperochadasilva2215 2 года назад

      @@victormeireles1906 Não, eu fiz parecido e funciona bem. Qualquer número que eu botar, ele vai
      numero = str(input("Digite um número: "))
      print(f'Unidade: {numero[3:4]}
      Dezena: {numero[2:3]}
      Centena: {numero[1:2]}
      Milhar: {numero[0:1]}')

  • @kauanaugusto8776
    @kauanaugusto8776 Год назад +4

    Eu fiz de um jeito mais simples pra mim e até que funcionou, acho que funciona ate com números maiores
    Ficou assim:
    n1 = str(input('Digite um número de 0 a 9999: '))
    n = ('00000{}'.format(n1))
    nu = n[len(n)-1]
    nd = n[len(n)-2]
    nc = n[len(n)-3]
    nm = n[len(n)-4]
    print('A unidade de {} é {}.'.format(n1, nu))
    print('A dezena de {} é {}.'.format(n1, nd))
    print('A centena de {} é {}.'.format(n1, nc))
    print('A unidade de milhar de {} é {}.'.format(n1, nm))

  • @phelipevruiz
    @phelipevruiz 8 месяцев назад +1

    Ao tentar resolver a atividade, tentei focar nas ferramentas de manipulação de texto da Aula 09. Foi um ótimo desafio! Também tentei considerar o caso do usuário incluir um número com decimais. Meu código ficou assim:
    print(' Desafio 023 '.center(50, "="))
    print()
    n = str(int(float(input('Insira um número entre 0 e 9999:
    '))))
    print('-' * 50)
    n = '0' * (4 - len(n)) + n
    u = n[len(n) - 1]
    d = n[len(n) - 2]
    c = n[len(n) - 3]
    m = n[len(n) - 4]
    print('Unidade: {}'.format(u))
    print('Dezena: {}'.format(d))
    print('Centena: {}'.format(c))
    print('Milhar: {}'.format(m))

  • @jeaneji
    @jeaneji 6 месяцев назад +1

    Genial... nunca que pensaria fazer usando essa forma, na hora que fiz achei que tinha acertado de primeira HAHA, me faltou fazer mais testes ao "completar" ao completar o código...
    Quando eu estava tentando fazer a parte matemática, eu pensei em usar expressão numérica, tipo ao tentar passar um número binário para decimal, mas não soube fazer isso no python, então decidi deixar na metodologia ensinada na explicação do vídeo.
    Como já dizia a tradição, segue a maneira na qual eu fiz (maneira errada):
    num = input('Diga um número de 0 a 9999: ')
    unidade = num[3]
    dezena = num[2]
    centena = num[1]
    milhar = num[0]
    print('''Unidade: {}
    Dezena:{}
    Centena: {}
    Milhar: {}'''.format(unidade, dezena, centena, milhar))

  • @pedro9931
    @pedro9931 5 лет назад +11

    Tive MUITA dificuldade para fazer esse exercício. Pedi ajuda ao meu pai que é programador e pude aprender imensamente com a ajuda dele. Gostaria de compartilhar com vocês o que eu aprendi para que vocês também possam evoluir, assim como eu evoluí hoje.
    Não pensei em fazer da forma matemática. Nem passou pela minha cabeça usar módulos, igual o Guanabara fez.
    #Variável num que recebe um input
    #Variável con que veio de 'conversão', pra converter o valor inteiro da variável num pra valor string (serviu para a validação feita mais à baixo)
    num = int(input('Digite um número entre 0 e 9999: '))
    con = str(num)
    #Sabendo o básico de lógica, dá pra ler o código facilmente. "Se len(número de caracteres da variável) da variável con for igual à 1, então con recebe três zeros concatenando o valor de con."
    if len(con) == 1:
    con = ('000' + con)
    #Aqui, se len da variável con for igual à 2, então con recebe dois zeros concatenando com o valor de con.
    if len(con) == 2:
    con = ('00' + con)
    #E aqui, se len for igual à 3, recebe um zero concatenando o valor de con.
    if len(con) == 3:
    con = ('0' + con)
    #Criei uma variável 'divisao' que recebe uma lista com os valores de con
    divisao = list(con)
    ##Aqui vem a parte de validação. Mesmo após ter conseguido, ficou martelando na minha mente o que aconteceria se o usuário digitasse um número maior do que 9999. Então criei uma situação onde não se pode digitar um número maior que 9999, nem menor do que 0, senão retornará erro.
    #Se variável num for maior ou igual à zero, E variável num for menor ou igual à 9999: execute todos os prints
    if (num >= 0) and (num

    • @fmtb8893
      @fmtb8893 3 года назад +1

      seu pai é programador q dhr po

  • @tonin5047
    @tonin5047 6 лет назад +40

    Krl esse me deu bug..

  • @marcelalima8312
    @marcelalima8312 4 года назад +4

    4:35 O professor é bom mesmo. Ele erra e corrige o erro explicando o porquê que ele errou. :)

  • @wesleyalmeida4695
    @wesleyalmeida4695 Год назад

    Primeiro exercicio ate agora que não tinha ideia de fazer sem condição.

  • @johncosta2540
    @johncosta2540 2 года назад

    É IMPRESINAMENTE COMO UM PROGRAMADOR CONSEGUI PENSAR DESSA FORMA, EU SÓ CONSEGUIR DA PRIMEIRA FORMA, NUNCA TINHA PENSADO EM RESOLVER SÓ COM CALCULOS MATEMÁTICOS.

  • @pamelasezana8852
    @pamelasezana8852 Год назад +5

    Fala galera, beleza? Vou deixar aqui minha resolução e explicação pra quem ainda não entendeu!!!
    A operação % (módulo) por 10 é usada para obter o último dígito de um número. Quando dividimos um número por 10, o resto da divisão será o último dígito desse número.
    # Por exemplo, consideremos o número 123. Se dividirmos 123 por 10, obtemos 12 como resultado inteiro e 3 como resto. O resto, nesse caso, é exatamente o último dígito do número original.
    # Da mesma forma, se tivermos o número 9876 e fizermos a divisão por 10, obteremos 987 como resultado inteiro e 6 como resto. Mais uma vez, o resto é o último dígito do número original.
    # Essa técnica é utilizada para extrair cada dígito de um número. Ao aplicarmos o operador % por 10 repetidamente, conseguimos obter os dígitos individualmente, começando pelo último dígito (unidade) e progredindo para os dígitos mais significativos (dezena, centena e assim por diante) em etapas subsequentes de divisão por 10.
    #faça um programa que leia um numero de 0 a 9999 e mostre na tela cada um dos digitos separados
    #:ex:9930 unidade dezena centena milhar
    num = int(input('Digite um número: '))
    unidade = num % 10 #resto=0
    num = num // 10 #result=993
    dezena = num % 10 #resto=3
    num = num // 10 #result=99
    centena = num % 10 #resto=9
    num = num // 10 #result=9
    milhar = num
    print(f'A unidade é: {unidade}')
    print(f'A dezena é: {dezena}')
    print(f'A centena é: {centena}')
    print(f'O milhar é: {milhar}')
    print(type(num))

    • @Receba-d8i
      @Receba-d8i Год назад +1

      N fiz assim, só q do meu jeito eu vou ter que ultilizar espaços, veja :
      n1=str(input('digite um numero: '))
      a=n1.split(' ')[0]
      y=n1.split(' ')[1]
      x=n1.split(' ')[2]
      w=n1.split(' ')[3]
      z=n1.split(' ')[4]
      print('digite zeros se acaso sobrar espaços vazios')
      print('seu número tem %s dezenas de milhar!'%a)
      print('seu número tem %s unidades de milhar!'%y)
      print('seu número tem %s centenas!'%x)
      print('seu número tem %s dezenas!'%w)
      print('seu numero tem %s unidades!'%z)

    • @Receba-d8i
      @Receba-d8i Год назад

      Ett se eu quero o numero 44 vou ter q digitar 0 0 4 4

  • @10harrry
    @10harrry 5 лет назад +11

    n = input('Informe um numero:')
    nf = f'{n:>4}'
    print(f'Analisando o numero {n}')
    print(f'Unidade: {nf[3]}')
    print(f'Dezena: {nf[2]}')
    print(f'centena:{nf[1]}')
    print(f'milhar: {nf[0]}')

  • @alexniezen244
    @alexniezen244 7 лет назад +17

    Eu já tinha postado os meus exercícios lá no vídeo da aula 9, mas vou colocar aqui para caso alguém queira ver como resolver com string sem precisar de nada que não foi aprendido até aqui:
    print('=== LEITOR DE NÚMEROS ATÉ 9999 ===')
    n = int(input('Digite um número até 9999: '))
    print('== MÉTODO INT ==')
    print('Unidade = {}'.format(n % 10))
    print('Dezena = {}'.format((n // 10) % 10))
    print('Centena = {}'.format((n // 100) % 10))
    print('Milhar = {}'.format(n // 1000))
    print('== MÉTODO STRING ==')
    n = '000' + str(n) # para que possamos escrever 1, 23 ou 395
    print('Unidade = {}'.format(n[-1])) # Também daria pra usar n[len(n)-1]
    print('Dezena = {}'.format(n[-2]))
    print('Centena = {}'.format(n[-3]))
    print('Milhar = {}'.format(n[-4]))

    • @guspnet
      @guspnet 7 лет назад

      Eu resolvi usando strings, testem ai e me digam se da certo:
      n = input("Digite um número entre 0 e 9999: ").strip()
      t = len(n.zfill(4))
      print('Unidade: {}'.format(n.zfill(4)[t-1]))
      print('Dezena: {}'.format(n.zfill(4)[t-2]))
      print('Centena: {}'.format(n.zfill(4)[t-3]))
      print('Milhar: {}'.format(n.zfill(4)[t-4]))

    • @glaydsonch1399
      @glaydsonch1399 6 лет назад

      Não precisar usar o STRIP ai não. Neste caso ele não serve pra nada. ... Boa solução!!!

    • @fernandorafael9560
      @fernandorafael9560 5 лет назад

      Um jeito mais facil ainda.
      numero = str(input("Digite um numero de 1 a 9999: "))
      print("A casa do milhar vale:, ", numero[0])
      print("A casa da centena vale: ", numero[1])
      print("A casa da dezena vale: ", numero[2])
      print("A casa da unidade vale: ", numero[3])

  • @cavaleirodastrevas2914
    @cavaleirodastrevas2914 3 года назад

    Salvou minha pele Profº !!! Como sempre!!!! O meu exercício é outro mas vc me deu uma idéia bacana!!! OBG

  • @l3ndr0pvn
    @l3ndr0pvn Год назад

    Muito interessante as formas encontradas! Segue minha contribuição:
    num = int(input('Digite um número de 0 a 9999: '))
    num = format(num, "04d")
    print(f'''
    Unidade: {num[-1]}
    dezena: {num[-2]}
    centena: {num[-3]}
    milhar: {num[-4]}
    ''')

  • @Fracotte
    @Fracotte 7 лет назад +16

    trolo legal , tava ensinando coisas de string e pedi um ex de matemática hehehe

    • @PedroRodrigues54
      @PedroRodrigues54 3 года назад +1

      Achei o mesmo e o seu comentário foi o único que eu estava à procura, pois isso foi o mais frustrante e ninguém comentou: O exercício de manipulação de string não teve nada, por isso terá induzido muita gente em erro

    • @henriqueaurelio8117
      @henriqueaurelio8117 3 года назад

      @@PedroRodrigues54 Mas dá pra transformar o número em string e manipular do mesmo jeito. Só que é uma gambiarra

    • @PedroRodrigues54
      @PedroRodrigues54 3 года назад

      @@henriqueaurelio8117 Exatamente!

    • @mateusolegario2935
      @mateusolegario2935 3 года назад +3

      @@henriqueaurelio8117 Então, mas essa "gambiarra'' dá um erro fudido. Eu fiz em string e tal, mas só funciona quando tem 4 algarismos

  • @gayamarinhodeoliveira4135
    @gayamarinhodeoliveira4135 Год назад +3

    Fiquei um tempão tentando fazer por string sem usar condicional ou laço de repetição e não consegui e aí a resolução é aritmética... rsrs
    Ainda gostaria de saber se alguém fez sem aritmética, condicional ou laço ou se é impossível mesmo.

    • @claus7992
      @claus7992 Год назад +2

      Gaya, vi seu comentário e pensei em um jeito de fazer só com string. Fiz com condicional, mas acho que
      # Assim garanto que se for um valor pequeno não tenho problema, pois só vou pegando pelo final
      num = '000' + str(input('Digite um número: '))
      length = len(num)
      print(f'unidade: {num[length - 1]}')
      print(f'dezena: {num[length - 2]}')
      print(f'centena: {num[length - 3]}')
      print(f'milhar: {num[length - 4]}')

  • @SkyeLotuss
    @SkyeLotuss 6 лет назад +5

    Esse exercicio eu achei dificil!

  • @viniomprodutosparayoga7199
    @viniomprodutosparayoga7199 3 года назад

    Nossa gostei muito desta solução matemática, entendi a logica, mais vou rever algumas vezes para não esquecer

  • @araujogabriel4446
    @araujogabriel4446 3 года назад

    Esse eu não consegui, mas vi a resolução, e tentei, refiz ele algumas vezes, e agora acredito que em questões como essa eu consigo resolver

  • @mateussouzasilvademaria515
    @mateussouzasilvademaria515 6 лет назад +4

    Mas havia outra forma de fazer esse dever sem que precisasse entender conceitos matemáticos que são complicados para a totalidade do público que quer apenas aprender programação. Como você havia dito, não é só a galera de exatas que precisa aprender a programar, e esse dever é uma barreira gigante para quem não tem esses conceitos matemáticos tão firmes na mente. O problema poderia ser resolvido com o comando que uma str deveria ter quatro caracteres e o número deveria se posicionar na direita, e quando ele não tivesse estes caracteres, espaços seriam adicionados na esquerda do número. Veja meu código:
    1- num=str(input('Digite um número até 9999: '))
    2- num1=('{:>4}'.format(num))
    3- print('O número digitado foi: {}'.format(num))
    4- print('Ele contêm {} unidade(s)
    Ele contêm {} dezena(s)
    Ele contêm {} centena(s)
    Ele contêm {} milhar'.format(num1[3],num1[2],num[1],num[0]))
    5- input()
    Na linha de comando 2 está o comando que eu falei entre as chaves. E não se espantem, ele já fez isso com o comando PRINT, apenas coloquei dentro de uma variável para que a str seja analisada de forma descente posteriormente, sem necessariamente você precisar ter conceitos matemáticos

    •  6 лет назад +2

      Quando coloca um número que não tenha 4 caracteres o código buga :(

    • @matheussampaio61
      @matheussampaio61 5 лет назад

      Eu fiz algo semelhante:
      num = input('Digite um número de 0 a 9999: ')
      num1 = '{:0>4}'.format(num)
      uni = len(num1) - 1
      dez = len(num1) - 2
      cen = len(num1) - 3
      mil = len(num1) - 4
      print('Você digitou o número {}.'.format(num1))
      print('unidade: {}'.format(num1[uni]))
      print('dezena: {}'.format(num1[dez]))
      print('centena: {}'.format(num1[cen]))
      print('milhar: {}'.format(num1[mil]))

    • @jailsonathayde74
      @jailsonathayde74 4 года назад

      Não dá liga se o numero tiver menos de 4 dígitos.

  • @l212j6
    @l212j6 5 лет назад +5

    Aqui vai meu código usando em string:
    n=str(input('Digite um número de 0 a 9999:'))
    x=(5-len(n))*'0'+n
    print('unidade:',x[4])
    print('dezena:',x[3])
    print('centena:',x[2])
    print('milhar:',x[1])

    • @ghmkimercury1431
      @ghmkimercury1431 5 лет назад

      Mano, n entendi como esse baguin funciona
      da pra explicar pf?

  • @kdz9581
    @kdz9581 6 лет назад +5

    Seguinte, pra quem não entendeu tudo bem. Eu tambem não tinha entendido de começo, eis a lógica:
    Tu pega qualquer número e faz a divisão inteira, no nosso exemplo aqui vai ser 1543.
    Vamo direto pra dezena pra ficar mais simples,
    x = int(1543) #Nosso número
    Dezena = x//10%10
    Então vamo pensar nessa linha ae de cima, primeiro nosso número vai ser dividido inteiro por dez
    no caso toda unidade vai ser descartada, pois divisão inteira não retorna resto, e unidade não é divisivel por 10.
    Nosso número virou 154, agora vem a divisão que mostra o resto, 154% 10 (na linha do código) ao contrário da
    divisão inteira que retirou a unidade agora vai retirar a centena (5) e o milhar (1) mostrando o que supostamente
    seria a unidade, mas já que a operação passada retirou a unidade agora vai mostrar como resultado a dezena.
    Divisão inteira por 10 retira completamente as unidades, se for por 10 as unidades, por 100 as dezenas, por 1000
    as centenas já que nenhum número menor do que o da divisão passa, 99//100 não passa dezena já que 99 (a maior dezena)
    é menor que 100(a menor centena),

  • @RonaldoNavarro-sg1xj
    @RonaldoNavarro-sg1xj 9 месяцев назад

    Esse foi o primeiro exercício em que eu realmente apanhei kkkk
    fiz a unidade utilizando apenas o módulo e também funcionou
    unidade = numero % 10

  • @gabrielmendes9009
    @gabrielmendes9009 7 месяцев назад

    Esse exercício me ferrou demais. Pq eu tentei fazer de acordo com a aula KKK Depois que eu percebi que tipo, pqp. E mesmo assim, ainda tive dúvidas, mas estamos ai pra isso.

  • @Ragnuslif
    @Ragnuslif 3 года назад +57

    esse foi o único exercicio que foi total TROLLAGEM, olha desafios sobre manipulação de texto mas pra ficar direito toma uma divisão marota de matemática pra resolver pq com string fica uma bosta, foi o famoso olha que recursos legais que não funcionam como eu prometi vc tinha que lembrar de matemática bruta pra resolver kkkkk

    • @LeandroOliveira-yz5fo
      @LeandroOliveira-yz5fo 3 года назад +7

      simmmmmmm. KKKKKK pensei o mesmo, era pro exercício estar nas aulas de operadores aritméticos

    • @O.Generico
      @O.Generico 3 года назад +1

      Exatamente. Nossa véi, que frustrante.

    • @O.Generico
      @O.Generico 3 года назад +1

      @@guilhermesilva-um2zb é, mas é de 0 a 9999, não de 1000 a 9999, se a pessoa digitar 23 vai dar erro

    • @guilhermesilva-um2zb
      @guilhermesilva-um2zb 3 года назад +1

      @@O.Generico NOSSAAAAA, É VERDADE CARA. MOSQUEI MT, VALEU PÔ.

    • @O.Generico
      @O.Generico 3 года назад

      @@guilhermesilva-um2zb relaxa, tive a mesma ideia que tu de primeira hahahaha

  • @athenacarvalho9103
    @athenacarvalho9103 2 года назад +4

    Gente, da pra fazer com só 3 linhas:
    esse "f" que eu boto antes das aspas simples é tipo o .format só que mais prático, dai eu digito direto o que eu quero que a apareça entre chaves {}
    num = input('Digite um número de 0 a 9999: ')
    num = (f'{num:0>4}')
    print(f'Unidade: {num[3]}
    Dezena: {num[2]}
    Centena: {num[1]}
    Milhar: {num[0]}')
    Esse "num = (f'{num:0>4}')" vem do conteúdo de outras aulas, com essa linha eu garanto que sempre haverão 4 caracteres (assim não dá aquele erro que o Guanabara mostrou) e que ,se no número fornecido tiver menos que 4 caracteres, a quantidade que falta será preenchida com 0's.
    Pode copiar e colar pra testar que dá certo! E se você mudar o 4 dessa linha num = (f'{num:0>4}') você pode descrever quantas casas vc quiser! Só precisa printar com a posição certa (dezena de milhar, centena de milhar, unidade de milhão, etc)

    • @isabellaoshima5743
      @isabellaoshima5743 Год назад +2

      EU TE AMO!
      Só uma dúvida, o "num:0>4" é mencionado em qual aula? Entendi o conceito e funcionou certinho, mas queria saber aonde vc aprendeu essa função

    • @athenacarvalho9103
      @athenacarvalho9103 Год назад

      @@isabellaoshima5743 Vish n lembro mais n kkkk

  • @3gameplay277
    @3gameplay277 3 года назад

    Você deu uma dica na aula, que algum exercício usaria alguma função + r (direita).. encanei que era esse exercício e resolvi ele assim, usando o "justificar à direita":
    n = str(input('Digite um número: '))
    n2 = n.rjust(4, '0')
    print('A unidade é {}'.format(n2[3]))
    print('A dezena é {}'.format(n2[2]))
    print('A centena é {}'.format(n2[1]))
    print('O milhar é {}'.format(n2[0]))

  • @oimmmmm
    @oimmmmm Год назад

    nunca pensaria nisso sozinha mas a sacada é genial

  • @kerigma_
    @kerigma_ 3 года назад +10

    Modo que eu fiz:
    *numero = int(input('Digite um valor inteiro de 0 a 9999: '))*
    *milhar = str(numero // 1000)*
    *centena = str(numero // 100)*
    *dezena = str(numero // 10)*
    *unidade = str(numero // 1)*
    *molde = [milhar[len(milhar) - 1], centena[len(centena) - 1], dezena[len(dezena) - 1], unidade[len(unidade) - 1]]*
    *print(f'Unidade: {molde[3]}
    Dezena: {molde[2]}
    Centena: {molde[1]}
    Milhar: {molde[0]}')*

  • @DiegoOliveira-ow3kv
    @DiegoOliveira-ow3kv 2 года назад +6

    Como não foi mencionado antes que a saída deveria ser um int , fiz assim:
    n = str(input('Digite um numero de 0 a 9999: '))
    print(f'Unidade: {n[-1 : ]}')
    print('Dezena: {}
    Centena: {}'.format(n[-2 : -1], n[-3 : -2]))
    print('Milhar: {}'.format(n[-4 : -3]))

  •  5 лет назад +22

    Não precisa de matemática.
    num = '000'+input('Informe um numero:
    ').strip()
    print('Unidade: {}'.format(num[-1]))
    print('Dezena: {}'.format(num[-2]))
    print('Centena: {}'.format(num[-3]))
    print('Milhar: {}'.format(num[-4]))

    • @CalangoBit
      @CalangoBit 5 лет назад +1

      Mandou bem!

    • @nunesweb
      @nunesweb 5 лет назад

      Muito bom! Parabéns!!

    • @eduardoribeiro5573
      @eduardoribeiro5573 5 лет назад +1

      não entendi pq vc colocou "num[-1]" "num[-2]" etc... me explicaaa

    • @scienceeducation393
      @scienceeducation393 5 лет назад

      @@eduardoribeiro5573 [-1] pega o último digito, [-2] o penúltimo, [-3] o antepenúltimo e assim por diante! =)

    • @lucask6181
      @lucask6181 5 лет назад +1

      Gostei da resolução, embora você tenha usado conceitos que o professor não ensinou e, neste caso, seria bem mais usual/intuitivo usar condicionais.

  • @ramonpratesmoreiralima7397
    @ramonpratesmoreiralima7397 7 месяцев назад

    De todos os desafios até agora, esse foi o que mais tive dificuldades.

  • @airtoncoutinhonetopelissar7814

    Raciocínio matemática nota 1000!!! Quebrei muito a cabeça pra tentar chegar numa solução possível para o desafio 023...
    Segue uma solução para o problema, utilizando os recursos que estudamos até agora, que é bem mais simples (consiste em adicionar 4 zeros no início do número, a esquerda/sem valor, não correndo o risco do erro no programa quando o usuário digitar um número com menos de 4 casas decimais):
    #Faça um programa que leia um número de 0 a 9999 e mostre na tela cada um dos dígitos separados
    #Ex: 1834 => unidade 4 dezena 3 centena 8 milhar 1
    digitado = input('Digite um número de 0 a 9999: ')
    num = '0000'+digitado
    print('A unidade do número é {}.'.format(num[-1]))
    print('A dezena do número é {}.'.format(num[-2]))
    print('A centena do número é {}.'.format(num[-3]))
    print('O milhar do número é {}.'.format(num[-4]))