Respostas no Fórum
-
AutorPosts
-
IcaroFilhoModerador
Boa tarde Everton,
Vamos por partes.
O atributo de centralização seria otextAlign
. Você esqueceu o e do text.
Lembrando que o container deve estar ocupando uma largura maior que o texto para que tenha um resultado visual.Agora quanto a imagem. poderia fornecer o código html ?
Vou montar um aqui um exemplo para você:
// HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="src/style.css"> </head> <body> <h1 id="header"></h1> <img id="image"/> <script src="src/script.js"></script> </body> </html>
// JAVASCRIPT
const message = 'Hello world' // texto const h1 = document.querySelector('#header') h1.style.width = '100%' h1.style.textAlign = 'center' h1.innerHTML = message // imagem const imageUrl = 'https://img.freepik.com/vetores-premium/hello-world-e-uma-palavra-simples-para-a-primeira-programacao-do-programador_48644-298.jpg?w=996' const image = document.querySelector("#image") image.src = imageUrl
// CSS
body { background: transparent; color: #fcbe24; padding: 0 24px; margin: 0; height: 100vh; display: flex; flex-direction: column; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }
IcaroFilhoModeradorBoa noite Felipe, Vou explicar os passos que segui.
-
Por se tratar de um form, eu chamei ele no
addEventListenerconst form = document.getElementsByTagName("form")[0]
-
Como você esta utilizando submit eu adicionei este evento:
-
form.addEventListener("submit", (e) => { e.preventDefault(); contar(); });
-
-
A captura dos itens de um input são do tipo string, então o correto é
sempre fazer um tratamento, por isso devemos converter para o formato
desejado.var i = Number(inicio.value); var f = Number(fim.value); var p = Number(passos.value);
- Primeira condicional
-
Por se tratar de um campo eu usei a negação (“!”) para verificar se o
campo é nulo, isto é similar a escreve:
if( i != null || i != undefined || i != "")
na lógica eu não modifiquei.
segue o código completo:var inicio = document.getElementById("inicio"); var fim = document.getElementById("fim"); var passos = document.getElementById("passos"); var contagem = document.getElementById("contagem"); const form = document.getElementsByTagName("form")[0]; form.addEventListener("submit", (e) => { e.preventDefault(); contar(); }); function contar() { var i = Number(inicio.value); var f = Number(fim.value); var p = Number(passos.value); contagem.innerText = ""; if (!i || !f || !p) { contagem.innerText = "Preencha tudo…"; } else if (i < f) { for (var conta = i; conta <= f; conta += p) { contagem.innerHTML += <code>${conta} 👉</code>; } contagem.innerHTML += "🏁"; } else if (i > f) { for (var conta = i; conta >= f; conta -= p) { contagem.innerHTML += <code>${conta} 👉</code>; } contagem.innerHTML += "🏁"; } else { contagem.innerText = "Não pode ter inicio igual o fim"; } }
IcaroFilhoModeradorBom dia.
Abrindo o terminal dentro do diretório que o seu arquivo
.js
está, pode executar o comandonode <nome-do-arquivo>.js
Ex.:
vamos supor que tenha um código assim dentro do arquivoindex.js
let n1 = 1 let n2 = 2 console.log(n1+n2)
Quando abrir o terminal basta digitar
node index.js
e será exibido o resultado doconsole.log()
23 de junho de 2023 às 22:07 em resposta a: Cap. 14 – Aula 07: Fontes Externas => Nomear o “font-family” #118593IcaroFilhoModeradorBoa noite Marlei,
Isto se da por uma evolução natural da linguagem.
Contudo, embora funcione sem a utilização das aspas, a própria documentação MDN nos mostra seu uso utilizando.
Isto para além de formar um padrão, evita conflitos e/ou erros quando utilizarmos juntamente a algum tipo de framework ou pré-processamento de css.
Lembrando que é comum o fato de se trabalhar com sistemas mesclando tecnologias novas e legadas.
14 de junho de 2023 às 09:49 em resposta a: Capítulo 23 Aula 5 – Criando os botões de redes sociais #117929IcaroFilhoModeradorBom dia.
Tente passar a position dosection#telefone
para absolute:section#telefone { background-color: blue; position: absolute; top: 50%; left: 50%; transform: translate(-50% ,-50%); height: 500px; width: 250px; background: url(‘../imagens/frame-iphone2.png’) no-repeat; }
acredito que esta mudança já alcance o resultado esperado.
Caso não, tente postar o link do seu repositório aqui para eu ver o projeto como um todo.
Bons estudos13 de junho de 2023 às 09:33 em resposta a: Capítulo 23 Aula 5 – Criando os botões de redes sociais #117874IcaroFilhoModeradorBom dia Douglas.
Poderia mandar o código do CSS tbm ?
Outra coisa, quando postar seus códigos no forum, formate-os.
Para isso basta selecionar todo o código que colou e clicar no botão CODE (notará que adicionará crases no inicio e fim de seu código)IcaroFilhoModeradorBom dia Antonio,
Você consegue utilizar o jupiter para os estudos iniciais.
Contudo indico fortemente que utilize uma IDE (pycharm, visual studio code) por ter suporte a uma variedade grande de pluggins e addons.IcaroFilhoModeradorBoa noite Vanildo,
Não entendi muito bem o contexto que deseja aplicar o lambda, mas vamos ver se consigo te dar uma luz.
Funções lambdas são funções anônimas que permite o seu “reuso” de maneira simplificada.Exemplo_1: Suponha que deseja acrescentar 30% de juros em cima de determinado valor.
preco_item = 100 calcular_preco = lambda x : x * 1.3 preco_final = calcular_preco(preco_item) print(preco_final) # 130.0
Exemplo_1: Suponha que deseja acrescentar N% de juros em cima de determinado valor.
preco_item = 100 juros = 30 calcular_preco = lambda x,y : x * (y/100+1) preco_final = calcular_preco(preco_item,juros) print(preco_final) # 130.0
No seu caso, você esta querendo utilizar uma lista, então precisa de um método para iterar em cima de cada valor da lista.
para isso utilizamos o MAP():lista_inicial = [1, 2, 3, 4, 5] lista_final= list(map(lambda x: x * 2,lista_inicial)) print(lista_final) # [2, 4, 6, 8, 10]
Note que o MAP() recebe como primeiro argumento a função lambda e o segundo é a própria lista que deseja iterar.
IcaroFilhoModeradorBom dia Marlei,
1- Correto, o Watch in Chrome foi descontinuado.
2- Correto, o “Watch in Chrome” pode ser substituído pelo “Live Server”. (Existem outros plugins, mas este é o mais utilizado no meio)
3- Não é necessário a instalação do plugin no chrome, apenas o plugin do vsc (Live Server) contemplaria o uso.
4- Sim, o Live Server contempla perfeitamente o curso do HTML/CSS
5- Sim, pode ser utilizado com qualquer navegador
Caso tenha ficado qualquer duvida, fique a vontade em questionar.
E desculpe a demora pelo retorno.IcaroFilhoModeradorBom dia Matheus,
Faltou resetar o contador de cédulas .
Como você não reiniciava a contagem ele somava o total de notas:
Total de 4 cédulas de 50 reais
Total de 5 cédulas de 20 reais
, onde seriam 4 notas de 50 + 1 nota de 20.basta adicionar uma nova atribuição zerando o total de cédulas a cada redeclaração de valor de cédulas .
valor = int(input('Quanto você quer sacar? R$')) total = valor ced = 50 totalced = 0 while True: if total >= ced: total -= ced totalced += 1 else: if totalced > 0: print(f'Total de {totalced} cédulas de {ced} reais') if ced == 50: ced = 20 totalced = 0 elif ced == 20: ced = 10 totalced = 0 elif ced == 10: ced = 1 totalced = 0 if total == 0: break
IcaroFilhoModeradorBom dia Jéssica,
Quanto ao ocorrido com seu código, seria interessante analisarmos para detectar em qual ponto esta o erro. Teria ele numa repositório ?
Caso não tenha, pode colar aqui mesmo seu HTML e JS (lembrando de postar aqui formatado)Quanto a sua duvida, há sim essa possibilidade de por um background na
DIV
, contudo não é o correto a se fazer neste caso por uma questão semântica.
(a semântica influencia diretamente no SEO [ RANKEAMENTO ] da pagina.)
Também tem a questão de acessibilidade (por exemplo, se um deficiente visual acessar o site, a aplicação de acessibilidade vai ler a TAG<img>
e procurar o atributoalt
para fazer a leitura da descrição da imagem para o usuário)
Também pode alterar o display daDIV
via JS.Mas tenta compartilhar seu código aqui. De repente é alguma “besteirinha” que passou despercebido.
IcaroFilhoModeradorBom dia Daniela,
Eu movi seu tópico pois já foi criado para este exercício.
Sempre que for fazer uma postagem no fórum, verifique se o exercício já não foi pastado, assim o fórum fica mais limpo e mais fácil para outros alunos encontrarem duvidas semelhantes ao mesmo exercício.Quanto a sua duvida, existe um
}
antes do enquanto que deve estar fechando o blocofuncao inicio()
, ai oenquanto
acaba quebrando.
Se retirar vai conseguir fazer a leitura completa.Contudo seu código entrará no que chamamos de “loop infinito” embora a condição esteja correta, o bloco do enquanto esta errado.
no seu código vc fala que deve ser executado enquanto o num1 for inferior a num2.
o seu bloco faz a operação de atribuir a num2 o valor de num1 mais o incremento.
Ou seja,
num1 sempre será inferior a num2
Para concertar vc deve fazer com que num1 receba ele mesmo mais o incremento.
num1 = num1 + inc
<u>Outras observações</u>
-
Variáveis
- Tente dar nomes mais intuitivos para facilitar a leitura como:
num1
=>inicio
|num2
=>fim
- Lembre-se que o código é escrito para outros Devs lerem também
- Tente dar nomes mais intuitivos para facilitar a leitura como:
-
Espaçamentos
- No seu código , vc esta dando espaço entre o nome da função/método e os parênteses:
leia ()
. Está é uma má pratica pois nem todas as linguagens serão tolerantes e aceitaram (<i>a maioria irá quebrar</i>)
- No seu código , vc esta dando espaço entre o nome da função/método e os parênteses:
-
Ordem de execução
- Dentro do bloco
Enquanto
, geralmente a operação de incremento fica no final do bloco -
enquanto(inicio <= fim){ // laço de repetição (inicio = num1 | fim = num2 escreva(inicio , "\n") // bloco de execução inicio = inicio + inc // incremento {
- Dentro do bloco
Caso continue com duvidas, é só postar aqui.
IcaroFilhoModeradorBoa noite Everton.
Até onde sei não há material em pdf de python pelo Estudonauta, mas vou confirmar pra você.
Contudo o curso de python em video é bem didático e rico em conteúdo.Quanto a sua segunda pergunta.
Você deve iniciar pelo HTML que ele é a base da estrutura da pagina WEB.
em seguida o CSS que é como o design da pagina vai aparecer no navegador.
E o Javascript é como o ela irá se comportar (irá mexer com a DOM).se preferir estudar separadamente, não precisa se aprofundar de modo individual. o ideal é estuda-las em conjunto, uma vez que irá usa-las em conjunto.
IcaroFilhoModeradorBom dia Neander Fontes,
Movi seu tópico para esta postagem tendo em vista que pertence ao mesmo exercício.
Sempre que tiver algum problema / dúvida, veja se já não existe um tópico referente ao mesmo exercício, assim mantemos um fórum mais limpo e mais fácil para outros alunos acharem resoluções por questão.Quanto a sua dúvida, você deve fazer com que o primeiro valor digitado seja tanto o maior quanto menor número registrado.
A partir deste momento que você fará as verificações se o número digitado é maior/menor que o registrado.Dá pra analisar o código que editei baseado no do Bruno.
Caso ainda possua dúvidas, é só postar aqui mesmo.IcaroFilhoModeradorBom dia Josue,
Sempre que for postar alguma dúvida, dê uma olhada no fórum para checar se a mesma questão já não foi postada.
Assim teremos um fórum mais limpo e com maior facilidade para os alunos encontrarem as dúvidas referente a questão (a sua dúvida pode ser a dúvida de outros alunos).E lembrando, quando for postar seu código, na barra de editar o texto, irá encontrar uma tag
CODE
.
basta selecionar todo o código e clicar nela que seu código aparecerá formatado quando postar sua dúvida (perceberá que ela será envolvida por crases)Agora quanto a sua questão,
O problema é que você está reatribuindo valor a mesma variavél.
no primeiro momento vc diz que a primeira inserção será armazenada na variávelnum
, e no momento de digitar o segundo valor vc sobrescreve o valor.
resumindo:
supondo q eu digite dois valores: 3 e 7.- primeira entrada a variável que n possui valor recebe e armazena o valor 3
- segunda entrada a variável que possui o valor 3 tem seu valor alterado para 7.
Para corrigir basta criar uma nova varável que armazenará o segundo valor digitado e fazer as operações com as duas variáveis que foram declaradas
ex.:inteiro primeiro_valor , segundo_valor escreva ("\n digite um valor") leia (primeiro_valor ) escreva("digite outro valor") leia (segundo_valor) escreva ("\n soma = " + (primeiro_valor + segundo_valor)) escreva("\n diferença = " + (primeiro_valor - segundo_valor))
IcaroFilhoModeradorIsto se dá pois a var ‘n’ não teve seu valor atribuído devido a tipagem incorreta *(quando o valor inserido for diferente de inteiro).
faça como eu mostrei, de um alias para a exceção e chame ela dentro do print. Ex:import traceback def leiaInt(msg): while True: try: n = int(input('Número: ')) except (ValueError, UnboundLocalError, TypeError, NameError) as err: print("".join(traceback.format_exception_only(type(err), err)).strip()) print(repr(err)) print(str(err)) print(err.args[0]) continue else: return n num = leiaInt('Digite um número: ') print(f'Você acabou de digitar o número {num}')
IcaroFilhoModeradorBoa Tarde Hudson.
1- Poderia mandar este código formatado ( para checar se a indentação esta correta )
2- Qual seria o erro que o seu pycharm mostra ?3- Você pode chamar os erros pelo Exception e dar um apelido para depois chamar.
ex1:def leiaInt(msg): while True: try: n = int(input(msg)) print(n[0]) except Exception as err: print('err :',err ) continue else: return n # Programa principal num = leiaInt( 'Digite um número: ' ) print(f'você acabou de digitar o número {num}')
este trecho te retornara um TypeError com a seguinte mensagem
err : 'int' object is not subscriptable
ex2: com base no seu código
def leiaInt(msg): while True: try: n = int(input(msg)) except Exception as err: print('err :',err ) continue else: return n # Programa principal num = leiaInt( 'Digite um número: ' ) print(f'você acabou de digitar o número {num}')
segue abaixo a DOC do python referente a exceptions
<LINK>
É possível entrar em contato direto via Discord.IcaroFilhoModeradorBoa tarde Marconi,
1- Sempre que postar algo, tente dizer qual a duvida ou o problema no código. Isto ajuda na correção.
A problema no seu código é que você esta fazendo uma atribuição ( uso do simbolo ‘=’ ) dentro do escreva.
Substitua a atribuição (=) por virgula(,) ou concatenação (+)2- a melhor prática seria cria as 3 variáveis juntas (
real n1,n2, media
) e na penúltima linha apenas realizar a conta aritmética:media = (n1+n2)/2
E mostre o resultado com:escreva("a media final foi",media)
3 de outubro de 2022 às 07:08 em resposta a: Programação Básica – Módulo 03: Repetições Portugol ex034 #102607IcaroFilhoModeradorBom dia Marcos,
O código esta muito bem estruturado, parabéns.
Houve apenas uma falta de atenção ao atribuir o valor am2
. Nele você esta atribuindo o valor de soma1 que se refere aos números pares, quando deveria estar atribuindo o valor de soma2.
m2 = soma1 / num2
==>m2 = soma2 / num2
- Esta resposta foi modificada 2 anos, 2 meses atrás por IcaroFilho.
- Esta resposta foi modificada 2 anos, 2 meses atrás por IcaroFilho.
5 de agosto de 2022 às 08:53 em resposta a: Aula 05 – Não consigo abrir o terminal NodeJS no VS Code #98828IcaroFilhoModeradorBom dia Anne,
esta usando Windows ?
Quando esta rodando o terminal, esta usando PowerShell, CMD, Bash ?
tente rodar no CMD.também faça uma checagem nas suas variáveis de ambiente.
Utilizando windows:
Vá na lupa e pesquise por variáveis de ambiente,
vai aparecer na busca “editar as vaiáveis de ambiente do sistema”Quando abrir , vai aparecer uma janela, vá em AVANÇADO,
Na parte inferior vai ver VARIAVEIS DE AMVIENTE.
Quando clicar vai abrir outra janela dividida em 2 blocos , uma para o usuário e outro para o sistema.
Procure por PATH nas VARIAVEIS DO SISTEMA e clique em editar
Nesta janela procure se há o NODE listado…
se for uma instalação padrão provavelmente estará “C:\PROGRAM FILES\NODEJS\” ( esta tudo certo )
Se nao encontrar basta clicar em novo e por manualmente.IcaroFilhoModeradorBom dia,
Poderia fazer mais um teste ?
Crie uma pastaprojetos
na raiz do seu HD.
dentro dela cria uma pasta destinada exclusivamente a este exercício. Ex.:aula08
( se preferir pode por , ex: c:/projetos/cursoemvideo/aula08 )
Sempre crie nomes explicativos, compactos e sem caracteres especiais ( boa pratica )
crie um novo projeto neste caminho. e faça o passo a passo que te informei.
Por que digo isto ?
Pode ter ocorrido algum problema no seu venv e esta crashando.
Pedi pra outros amigos Devs que não trabalham com python fazerem o mesmo procedimento em diferentes maquinas ( MAC, WIN, LINUX ) e todos tiveram o resultado positivo.Fico no aguardo do seu retorno.
Desculpe o transtorno mas seu problema é muito atípico.IcaroFilhoModeradorBom dia Plinio,
Para nos certificarmos que o Package Emoji esta devidamente instalado, execute o comando de instalação pelo terminal:
python -m pip install emoji
Uma vez certificado esta instalação, utilize o código sem o parâmetro use_aliases=True.
import emoji print(emoji.emojize('Python is :thumbs_up:')) print(emoji.emojize("Ola Mundo :sunglasses:"))
Para a execução,
Abre o terminal no caminho do projeto e digite:
python arquivo.py
IcaroFilhoModeradorBom dia.
Quando você cria o repositório remoto, é dado uma lista de instruções para seguir fazendo a conexão do repositório local ao repositório remoto.
Você seguiu os passos ? ( geralmente esse erro se da devido ao repositório local não saber onde esta o remoto)Siga os seguintes passos:
com o projeto já criado:
1. Inicialize o git
git init
2. Coloque eles em “staged” para “commitar”
git add .
3. De o primeiro “commit”
git commit -m "first commit"
4. Renomeie o padrão da branch principal para o padrão do github
git branch -M main
5. Conecte o repositório local ao remoto
git remote add origin <URL do projeto>.git
6. Faça a publicação
git push -u origin main
Todo esse passo a passo se encontra na pagina do projeto em branco.
IcaroFilhoModeradorBom dia Rafael,
Sempre antes de criar um novo tópico, procure no fórum se o mesmo já não foi criado. Assim deixa o nosso fórum mais limpo, sendo mais fácil de se encontrar as soluções, concentrando todas as duvidas sobre um assunto em um único lugar e também pode ser que sua duvida seja sanada na resposta de outro colega… que é este caso.Você cometeu o mesmo erro do Robson ( 3º post daqui ) e em seguida dou uma explicação sobre a resolução.
OBS: também há outro tópico do exercício 38 em que dou uma explicação mais completa e com resolução AQUIEm resumo, você esta errando por que esta atribuindo os nomes e idades para ambos os sexos no primeiro momento em que o programa roda, sendo que na primeira vez só é atribuído um sexo.
Caso leia os 2 tópicos e ainda continue com duvida, basta responder aqui.
IcaroFilhoModeradorBom dia.
você esta digitando a senha e pressionandoENTER
?
a senha fica oculta e você não consegue ver se esta digitando ou não, mas está sim.IcaroFilhoModeradorBoa noite Rafael,
Acontece que você esta manando escrever todos os números e ainda por cima falando quando a divisão por 4 der resto 0, escrever PIN.
deste modo ele escreve toda a operação ( números + PIN )Você precisa condicionar a escrita, caso o resto da divisão por 4 seja 0, escreva PIN … caso contrario escreva o número:
Ou seja, precisa criar uma condição composta para resolução deste exercício.enquanto(scoreStart <= scoreEnd) { se( scoreStart % 4 == 0 e scoreStart != 0 ){ escreva("PIN ") } senao { escreva( scoreStart, " - " ) } u.aguarde( 500 ) scoreStart = scoreStart + 1 }
Caso tenha ficado alguma duvida, fique a vontade para relatar.
IcaroFilhoModeradorBom dia,
Ótima evolução.
A visão deste exercício era primeiramente a separação dos sexos para depois a avaliação das idades. ( que foi o erro do seu primeiro código, onde você estava fazendo com que a primeira entrada preenchesse os dois sexo. ).
Um ponto muito importante na programação é o conceito de que se programa para outros programadores lerem, por isso a pratica de dar nomes explícitos para as variáveis.
Ex.:
maisjovemf
–>nome_mulher_jovem
menoridadef
–>idade_mulher_jovem
Assim , quem lê não precisa ler o contexto todo do código para entender do que se trata.
Outro ponto importante aqui para o fórum é a formatação.
Em códigos mais complexos ( que vai acontecer mais pro final ), a formatação deixa a leitura mais fácil, além de dar a possibilidade de copiar o código original para um editor de código. ( quando se copia do jeito que tá, temos que fazer ajustes de caracteres. )
Para manter a formatação basta ao colar aqui, selecionar todo o trecho de código e clicar emCODE
que se encontra logo acima da área de texto, você perceberá que irá ser adicionado crases no começo e no final do seu código.
Apenas isto fará uma enorme diferença para que possamos lhe ajudar com mais agilidade.Continue a evolução,
Bons estudos!IcaroFilhoModeradorBom dia. a questão do programa esta sendo revisada pelo grupo responsavel.
Quanto a a questão da impressão, vc já havia feito esta pergunta e eu respondi querendo saber mais a respeito.
[ L I N K ]IcaroFilhoModeradorRealmente Jonathan,
O intuito deste exercício é justamente fazer com que o aluno leve em consideração o fator tempo e a base de calculo de conversão para efeito de cálculos.
Depois que o aluno descobre esta redução de dia para minutos, basta aplicar uma regra de 3 simples.Você possui alguma duvida ?
IcaroFilhoModeradorBoa noite Matheus,
Seu código esta incorreto
A sequenciaMaior - Intermediário - Menor
não tem saída
A sequenciamenor - maior - Intermediário
não tem saída
Pode testar pondo a seguinte sequencia de números:
4
1
3
2
10
5
A tratativa desta questão um pouco mais complexo que 3 possibilidades.
Você pode por cada possibilidade na mão um a um Como o Lucas fez, mas este não é nem o ideal nem o intuito.
O ideal é fazer lógica do Raphael onde se usa umSE
dentro de outroSE
.Tenta solucionar o exercício novamente e qualquer problema na lógica é só perguntar.
-
Por se tratar de um form, eu chamei ele no
-
AutorPosts