Jump to content

Thanael

Pessoal da TecnoSpeed
  • Contagem de Conteúdo

    217
  • Ingressou

  • Última visita

  • Dias Ganhos

    28

Tudo que foi postado por Thanael

  1. Olá @One human tudo bem? Quando precisamos que um programa funcione initerruptamente é interessante usar o While True, ou seja ele ficará sempre no loop até que exista um break para lhe retirar deste loop. Uma maneira mais simples de realizar isso seria utilizando um While True e um break quando a opção digitada por 5, segue abaixo um exemplo de como eu realizaria este exercício. numeros = [int(input(f'Digite o {numero}° número: ')) for numero in range(1,3)] while True: opcao = int(input(''' Escolha uma opção: [ 1 ] - Soma [ 2 ] - Multiplicação [ 3 ] - Maior [ 4 ] - Novos números [ 5 ] - Sair Opção: ''')) if opcao == 1: print(f'{numeros[0]} + {numeros[1]} = {numeros[0] + numeros[1]}') elif opcao == 2: print(f'{numeros[0]} X {numeros[1]} = {numeros[0] * numeros[1]}') elif opcao == 3: print(f'{numeros[0]} > {numeros[1]} = {numeros[0] > numeros[1]}') elif opcao == 4: numeros = [int(input(f'Digite o {numero}° número: ')) for numero in range(1,3)] elif opcao == 5: print('Obrigado por usar o programa, até mais!') break else: print('Digite uma opção válida!') Print da saída: Enfim espero que com este exemplo consiga lhe dar uma ideia, caso contrario fico a disposição para lhe ajudar no que precisar 👍
  2. Saquei, geralmente quando uso o Python pelo Vscode, eu só olho para esta tela do Terminal, portanto não vou conseguir lhe ajudar em relação a esses outros dois campos. 🥲
  3. Olá @bruno.mioni verifica se a extensão do python está instalada no visual studio code. Recomendo ver algum video sobre configuração do python no vs code, geralmente eles ensinam toda essa questão de configuração e console dentro do vs code 👍
  4. Olá @llFernando tudo bem? Vou tentar lhe ajudar, no caso seu DataFrame na coluna Nota tem apenas 9 caracteres, porém você precisa que ele fique com 12 caracteres correto ? então tu precisa adicionar '0' até ficar com os 12 caracteres... Sabe me informar se esses '0' para completar ficam no inicio ou no fim do campo, se puder me passar um exemplo fictício de nota e como gostaria que ficasse vou conseguir lhe ajudar com mais assertividade. Me passando essas informações vou conseguir lhe ajudar da melhor forma 👍 Obs: Não sei se tem como definir o tamanho do campo da coluna, porém existem outras formas de obter só os 12 igual tu tentou fazer ou até mesmo adicionar os valores '0' para ter os 12 caracteres.
  5. Olá @Rafael Zille tudo bem? Vamos lá, primeiro precisamos criar essa lista com os 5 valores. numeros = [int(input(f'Digite o {numero}° número: ')) for numero in range(1,6)] print(numeros) Agora realizar o esquema que tu comentou de categorizar os números. categorias = { 1: [1, 25], 2: [26, 50], 3: [51, 75], 4: [76, 100] } resultado = {} for key, value in categorias.items(): resultado[key] = len([numero for numero in numeros if numero <= max(value) and numero >= min(value)]) print(f'{resultado[key]} números estão na categoria {key}') Agora só realizar esse esquema de digita o novo número e inseri-lo no inicio da lista numeros.insert(0, int(input('Digite um novo número: '))) numeros.pop() print(numeros) Pronto, ai caso tu precise que isso seja sempre repetido e tals só adicionar em um laço de repetição, acredito que tenha resolvido sua questão, caso não tenha compreendido algum ponto na resolução sinta-se a vontade para perguntar que ficarei feliz em tirar todas as suas dúvidas. 👍 OBS: Vou adicionar o código em anexo caso queira ele inteiro exercicio.py
  6. Show @Tiago de Freitas Damasceno, agora consegui entender, segue abaixo um exemplo de como realizar isso, talvez não seja a melhor maneira caso sejam milhares de linhas, mas é um modo que funciona. df['target'] == None for index in range(len(df['unit_number'])): proximo = index + 1 # Verifica se o index do proximo é maior que o ultimo index... Evitar dar erro quando usar o ILOC if proximo > max(range(len(df['unit_number']))): df['target'].iloc[index] = 0 elif df['unit_number'].iloc[index] == df['unit_number'].iloc[proximo]: df['target'].iloc[index] = 1 else: df['target'].iloc[index] = 0 print(df) Segue a saída deste código. Acredito que seja isso que esteja tentando. A lógica que usei foi a seguinte, basta eu verificar o unit_number de 1 linha com o unit_number da próxima linha desta forma se eles forem iguais, sei que a linha atual não é a ultima que possui este valor, portanto seu target será 1. Agora se o valor da linha atual ser diferente do valor da outra linha, significa que esta linha é a ultima que possui esse valor portanto seu target será 0. Fazendo um teste de mesa do código seria algo assim Linha - Valor Atual - Valor da próxima Linha - Target 0 1 1 1 1 1 1 1 2 1 1 1 3 1 2 0 4 2 2 1 5 2 2 1 6 2 3 0 Pontos de atenção para isso funcionar: O DataFrame precisa estar ordenado pelo unit_number, a ultima linha não entrará nesta lógica pois não existe próximo valor, portanto basta setar 0 no target. Enfim acredito que seja isso que você precisava, caso contrario estou a disposição para lhe ajudar. 👍
  7. Olá @Tiago de Freitas Damasceno tudo bem? Poderia me explicar novamente qual a lógica para essa coluna target, não consegui entender muito bem essa questão, seria algo como. "Pega o valor de unit_number, verificar em todas colunas sensor caso o unit_number seja igual ao ultimo número de alguma dessas colunas ele coloca o target = 1 e se não não for igual ai target = 0 ?, ou o valor do unit_number e para saber em qual coluna olhar ?" Me explicando isso eu consigo lhe ajudar de forma mais assertiva, mas algumas maneiras que você pode fazer isso é seguindo essa lógica aqui, cria a coluna com um valor None, df['target'] = None, Cria um Loop, FOR index, dado in df.iterrows( 😞 Realiza as verificações que quiser agora, pois o campo dado é um dicionário da linha do DataFrame então tem a liberdade para fazer as verificações que necessita basta usar dado['unit_number'] ou outra coluna. Ai atualiza o próprio valor da linha através do index, algo como df['target'][index] = 0 ou 1 Essa é uma maneira com mais liberdade para você realizar isso, outra maneira também é utilizando o apply( ) do pandas que ocorrerá de maneira semelhante a acima, porém com desempenho muito mais rápido. Enfim, espero que essas ideias tenham lhe dado uma ideia de como prosseguir, caso mesmo assim precise de ajuda, peço que me explique melhor essa lógica para o Target que ai consigo lhe ajudar de forma mais assertiva. 👍
  8. Olá @Ferreira tudo bem? Existem algumas abordagens para realizar isso, vou lhe mostrar abaixo como eu realizaria isto. 1° Obter uma lista com as notas. qtd_notas = int(input('Digite o número de notas que deseja inserir: ')) notas = [] for index in range(qtd_notas): notas.append(int(input((f'Digite o valor da {index + 1}° nota: ')))) print(notas) Exemplo de saída deste código. 2° Agora obter esses dados como quantas notas foram inseridas a soma dessas notas a média das notas quantidade de notas acima da média (5,0) Para realizar isso vou fazer de um jeito mais resumido aqui, portanto caso tenha alguma dúvida sobre como fiz, sinta-se a vontade para perguntar que ficarei feliz em responder. print(f"Quntidade de notas inseridas {qtd_notas}") print(f"A soma das notas é {sum(notas)}") print(f"A media das notas é {sum(notas)/len(notas)}") print(f"A quantidade de notas acíma de 5 é {len([nota for nota in notas if nota > 5])}") Exemplo de saída deste código. Caso tenha ficado em dúvida relacionado a esta forma de printar os resultados ou em relação a como realizei essa parte de obter o número de notas acima de 5 sugiro dar uma olhada nestes posts onde explico alguns destes conceitos. List Comprehension (Como obtive as notas acima de 5) maneiras de printar uma variável em python Enfim esta é a maneira que eu resolveria este problema, caso tenha ficado qualquer dúvida pode me perguntar que ficarei feliz em explicar como fiz ou como você pode fazer de outra forma. 👍
  9. Olá @Ferreira tudo bem? Segue abaixo um exemplo de como realizar isso em Python. lista1 = ['a','b','c','d','e'] lista2 = [1,2,3,4,5] lista3 = [] for index in range(len(lista1)): lista3.append(lista1[index]) lista3.append(lista2[index]) print(lista3) # ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5] Acredito que seja isso que você precisa correto, caso contrario estou a disposição para lhe ajudar no que precisar 👍
  10. Olá @daviborbinha tudo bem? caso seu problema esteja em encontrar dados, sugiro dar uma olhada no Kaggle lá você encontra diversos dataset, ai pode se divertir com eles para concluir seu trabalho. Vou dar alguma sugestões do que pode ser feito. Estudo de consumo de clientes - (Analisar produtos, mais comprados, valores de compra e tudo mais) https://www.kaggle.com/datasets/aungpyaeap/supermarket-sales Estudo de clientes - (Distribuição de genero, renda entre outros) https://www.kaggle.com/code/leomauro/agrupamento-segmenta-o-de-clientes#Visualização-dos-Dados As possibilidades do que você pode fazer são muitas, sugiro olhar no Kaggle e encontrar algum assunto que goste ai a partir disso criar os gráficos com pandas e matplotlib. 👍
  11. Você em algum momento já precisou realizar cálculos com datas e também ficou perdido em como realizar isso sem quebrar a data? Antes de lhe mostrar como realizar isso, vou compartilhar com você um simples problema e quero que você pense em como soluciona-lo. "Preciso saber qual dia era 10 dias atrás" Aparentemente parece algo simples, ou seja basta pegar o dia atual (29) e diminuir 10 dias ou seja 29 - 10 = 19 desta forma sabemos que 10 dias atrás era dia 19, mas e se hoje fosse dia 5 ? poderíamos usar essa mesma lógica ? 5 - 10 = -5 ou seja não iria funcionar, além disso precisaríamos saber também o número de dias do mês para obter um resultado assertivo. Complicado né ? 😅 o que parecia tão simples agora parece tão complicado. Mas calma, vou lhe mostrar como isso ainda é simples e fácil de realizar, ao lhe mostrar a maneira de realizar isso você ficará chocado com o quão simples é realizar isso em basicamente 1 linha de código. Primeiro precisamos ter as bibliotecas necessárias para trabalhar com as datas, portanto certifique-se de ter as bibliotecas datetime e dateutil. Vamos agora resolver esse exercício que comentei anteriormente. from datetime import date from dateutil.relativedelta import relativedelta # Obter a data atual hoje = date.today() print('hoje:',hoje) #Agora basta realizar a subtração de 10 dias desta data new_data = hoje - relativedelta(days = 10) print("Data -10 dias:", new_data) Olha o resultado. Mas Thanael.... Nesse caso ai é o mesmo que só fazer 29-10... Mas olha agora quando faço o exemplo que comentei que se hoje fosse dia 5 Viu só, agora a biblioteca realiza tudo isso de verificar numero de dias no mês e tudo mais, ou seja ela que realiza toda a magia 😄 Nos exemplo fizemos subtração de dias de uma data, mas podemos realizar também adições, somente mudando o sinal de - ali para + . Outro ponto, nos exemplo fizemos com dias, porém a biblioteca aceita outros termos como weeks, months, years sugiro você olhar na documentação para entender tudo que se pode fazer com este método de relativedelta portanto vou deixar abaixo um link para acessar a documentação. 👍 Documentação: https://dateutil.readthedocs.io/en/stable/relativedelta.html
  12. Opa, que ótimo que funcionou, agora para salvar esse resultado vindo do request em um arquivo json, existem alguns meios, sugiro você dar uma olhada neste artigo. Trabalhando com JSON no Python No artigo tem uma parte que ele explica sobre load e loads, acredito que seja bem aquilo que tu precisa. "E o método loads, assim como o dumps, é para lidar com JSON em formato de string. No caso do loads, transformar uma string em um objeto Python." Acredito que lendo esse artigo tu consiga realizar isso, caso contrario me avisa que procuro outra forma de lhe ajudar ou até mesmo posso mandar um exemplo de código em últimos casos. 👍
  13. Olá tu pode ajustar o link da api desta forma f"https://api.**********.com.br/sale-report/v1/reports?start_date={data}" Desta forma o python saberá que onde está {data} ele deve colocar o valor armazenado na variável data.
  14. Thanael

    Replicando resultado

    Olá @Paulo Leao tudo bem? Se não estou enganado isso ocorre por você estar modificando a mesma variável dicionario em todos os momentos. Vamos analisar por exemplo a sua lista declarei dentro dela não esta sendo armazenado os dicionários e sim uma referencia a variável dicionario, portanto seria algo como declarei = [dicionario, dicionario, dicionario] ao invés de declarei = [{'a': 0, 'b': 0, 'c': 0}, {'a': 1, 'b': 0, 'c': 1}] ou seja sempre que você modificar a variável dicionário, você estaria modificando a lista como um todo, pois seus valores são referencias a variável dicionário. Vou tentar exemplificar isso numa imagem. Perceba que em nenhum momento eu inseri este valor 5 na variável B, só modifiquei a variável A. Portanto uma maneira de corrigir seu código é criar variáveis diferentes ou caso precise usar mesmo valores utilize o .copy( ) que desta forma você não estará mais referenciando a variável usada antes, veja o mesmo exemplo que citei a cima. Desta forma ao modificar a variável A a B não será modificada também É bem confuso mesmo essa questão 😅 Sugiro você dar uma lida em alguns artigos, ficará mais claro de entender isso. Segue abaixo um artigo sobre VARIÁVEIS, VALORES E REFERÊNCIAS Enfim espero que isso consiga resolver sua dúvida, caso contrario estou a disposição para tentar lhe ajudar. 👍
  15. Olá @rssilva_22 tudo bem ? Uma maneira simples de realizar isso é inserindo o seguinte no seu código. # Caso não tenha a biblioteca só executar pip install datetime from datetime import date from datetime import timedelta data = date.today() - timedelta(days=7) O date.today( ) lhe trará a data de hoje no formato date, e o time delta é usado para diminuir 7 dias da data. O formato da variável é date, portanto caso gere algum erro basta converte-la para string que ficara no formato desejado. Espero que seja isso que deseja, caso contrario estou a disposição para lhe ajudar. 👍
  16. Olá @romline5 Spacegrid você adicionou a indentação no código? No Python a indentação é de extrema importância para funcionar o código. Portanto seu código deve estar da seguinte forma Deste jeito ele irá funcionar normalmente.
  17. Olá Dev! Hoje vou lhe mostrar uma nova forma de criar funções em Python de forma muito mais simples e prática. Acredito que assim como eu você já deve ter feito esta pergunta abaixo a si mesmo. "Poxa preciso usar o def toda vez que for criar uma função ? mesmo que minha função seja muito simples" Então a resposta para isso é NÃO você até pode, mas com certeza irá preferir usar o método que irei lhe explicar. Em Python existe um método muito mais simples para criar uma função, este método é chamado de Lambda! Funções Lambda consistem em um modo diferente e mais prático de declarar funções em Python, veja no final os comparativos entre funções Lambda e funções tradicionais, você vai se surpreender com o quão simples é utilizar as funções Lambdas. Vamos ver agora como criar uma função Lambda, é importante prestar atenção na sua estrutura. Criação de uma função Lambda! A criação de uma função Lambda é semelhante a criação de uma variável normal, lembrando de seguir a estrutura abaixo. Está e a estrutura para criar uma função Lambda, simples não acha? Primeiramente passamos o nome depois a palavra reservada Lambda Ai passamos os parâmetros Colocamos os dois pontos ( : ) para separar o parâmetro do retorno da função Agora definimos qual será o retorno da função. Veja abaixo alguns exemplos de criação de funções Lambda # Printar Hello World hello_world = lambda nome : f'Hello World { nome }' hello_world('Thanael') #'Hello World Thanael' # Potenciação potencia = lambda num1, num2 : f'{num1} Elevado à {num2} é {num1 ** num2}' potencia(4,3) #'4 Elevado à 3 é 64' Vamos ver agora alguns comparativos entre funções Lambda e funções Tradicionais! Se mesmo com esse comparativo simples, eu ainda não consegui lhe convencer a usar Lambdas, veja abaixo outro comparativo utilizando utilizando estruturas de condições junto. E então, você já conhecia esse método de criar funções?
  18. Olá @Diogo Nicolastudo bem? Segue abaixo um exemplo de como realizar isso de forma simples. # 1° Obter as variaveis combustivel = int(input('Quantos livros de gasolina ainda restam no veiculo: ')) consumo_medio = int(input('Qual o consumo médio (km/l) de gasolina do seu veículo: ')) postos = [2,15,22,10.2] # 2° Verificar quantos kilomestros o carro faz com a gasolina atual # os \n é so para pular linha no resultado do print.... km_a_rodar = consumo_medio * combustivel print(f'\nCarro aguenta andar {km_a_rodar} Kilometros\n') # 3° Ordenar a lista dos postos para facilitar. postos.sort() print('\n\n Postos de Gasolinas \n',postos,'\n\n') # 4° Verificar qual o posto mais próximo for posto in postos: if posto <= km_a_rodar: print(f'O Posto mais próximo de você está a {posto} Kilometros') break else: print(-1) break Pronto, o resultado deste código é o seguinte. Espero que seja isso o que esta procurando, caso contrario estou a disposição para lhe ajudar no que for necessário. 👍
  19. Olá @zDnA tudo bem? Um jeito de realizar isso que você precisa é utilizando o styler do pandas, nele você consegue ajustar diversos pontos da visualização do DataFrame, como fonte de texto, cores, tamanhos e tudo mais. Em relação a essa questão de adicionar o R$ e a % você consegue fazer também mesmo se o campo for tudo texto. Uma maneira de fazer isso é usando o Apply com funções lambdas para verificar se é numero e adicionar o R$ ou se é texto ai você por exemplo não mexe. Tenho um Post aqui introduzindo e mostrando um pouco sobre o styler. Estilização de um DataFrame Tenta dar uma pesquisada para ver se consegue realizar isso, caso contrario comenta aqui que ai eu tento fazer o código para resolver este seu problema 👍
  20. Olá @Guilherme Moreira tudo bem? Seu problema esta nesta parte do código for i in range(dim): partA += x[i]**2 partB *= math.cos(float(x[i]) / math.sqrt(i+1)) Perceba que o x[ i ] não irá funcionar pois seu X consiste no valor 60 (int) e você esta usando ele como se fosse um list tentando acessar um index do list Caso sua ideia seja apenas passar o valor do parâmetro ali, basta ao invés de x[ i ] ** 2 usar x ** 2.
  21. Olá @Hugo Luis Alejandro tudo bem? Provável que você tenha mais de 1 python instalado, ai acabou que tu instalou a lib do Pandas em um ambiente e o Pycharm esteja usando o outro ambiente. Uma vez tive um problema parecido, muito chato isso haha 😅 Sugiro você pesquisar sobre isso, desinstalar os python e reinstalar deixando somente um...
  22. Quer saber como remover o fundo de uma imagem de forma simples e prática com Python? "Já perdi a conta de quantas vezes precisei retirar o fundo de uma imagem e toda vez é a mesma tristeza, de procurar por uma ferramenta online que realize isso ou até mesmo ter de abrir o Photoshop apenas para realizar o trabalho simples de remover o fundo da imagem" Obs: Eu já cheguei a utilizar até o Power Point para fazer isso 😅 Porém alguém ouviu minhas preces 🙏 e desenvolveu uma maneira de realizar isso com o Python e o melhor de tudo, é muito simples tu consegue realizar isso com um simples comando. Tá . . . 🤥 entendi, mas qual é esse comando mágico ? Melhor do que lhe falar o comando, vou lhe mostrar na pratica como fazer isso. 🤭. Veja no final o resultado do processo. 1. Vamos importar a biblioteca que realiza essa magia. # pip install rembg para instalar a biblitoeca from rembg import remove 2. Vamos importar o modulo Image da biblioteca PIL para facilitar a abertura de imagem. # pip install Pillow para baixar a biblioteca from PIL import Image 3. Abrir a imagem. #Caminho da Imagem input_path = 'imagem.png' # Caminho para salvar a imagem sem fundo output_path = 'imagem_sem_fundo.png' # Abrir a imagem no Python input = Image.open(input_path) 4. Tirar o fundo da imagem e salvar a imagem # Comando mágico que remove o fundo output = remove(input) # Salvar a imagem output.save(output_path) Resultado Lembrando que dependendo da imagem e do fundo o código possa não conseguir remover o fundo adequadamente, portanto sugiro sempre realizar testes para ver se de fato atingiu o resultado esperado. Imagem com fundo. Imagem sem fundo
  23. Se você estuda sobre investimentos ou até mesmo já começou a investir em ações talvez já tenha se feito algumas destas perguntas abaixo. "Como utilizar a programação na hora de estudar qual ação comprar ? " "Como posso automatizar aquela filtragem inicial de ações que sempre consome muito tempo ? " Neste Post vou fomentar sua curiosidade mostrando como é simples e prático obter os dados de ações. Depois disso as possibilidade do que você poderá fazer com isso são inúmeras, desde verificar informações históricas, filtrar pelos indicadores e até mesmo criar gráficos para visualizar o comportamento da ação. Passo a Passo de como realizar isso. 1. Então como podemos obter os dados de ações ? Existem diversas bibliotecas que fornecem esses dados, uma delas e a que vamos utilizar neste Tópico é a yfinance que fornece os dados provindos do Yahoo Finance. Portanto antes de iniciar o desenvolvimento realize a instalação da biblioteca com o comando. pip install yfinance 2. Vamos passar a ação desejada. Para realizar isso basta executarmos o seguinte. import yfinance as y # Passar a ação desejada acao = yf.Ticker("ODPV3.SA") Neste exemplo quero visualizar os dados da ação ODPV3. Sugiro que você verifique como ela está dentro do Yahoo Finance, no meu caso está como ODPV3.SA. 3. Como obter seus indicadores. Para visualizar as informações gerais das ações basta executar o seguinte. info = acao.info print(info) Este acao.info retorna um dicionário python contendo todas as informações da ação, este dicionário é bem extenso sugiro estudar ele visto que ele nós traz informações muitos relevantes como PegRatio, dividendYield, Enterprise Value (EV), EBITDA entre outras informações cruciais para calcular indicadores ou entender melhor sobre a empresa. (Segue abaixo a imagem de uma parte deste Dicionário) 4. Obtendo histórico da ação. Para visualizar as informações executamos o comando acao.history( ) no qual podemos passar um intervalo de datas, neste exemplo quero obter todo o histórico da ação. hist = acao.history(period='max') Seu retorno consiste em um DataFrame, veja como é sua visualização. Lembrando que o valor ali está em R$ neste caso 5. Agora com os dados em mão podemos fazer qualquer coisa haha 🤑 Como um exemplo do que podemos fazer irei mostrar um gráfico simples para verificar o histórico de cotações desta ação. As oportunidades do que se pode fazer com estes dados são muitas, portanto espero neste post ter despertado sua curiosidade para aplicar seus conhecimentos de programação nas mais diversas áreas como finanças por exemplo.
  24. Olá @Monice tudo bem? Não entendi muito bem a sua dúvida, poderia me explicar novamente?
  25. Olá @tulio.fem tudo bem? Você comentou que quando escreve em inglês ela funciona no caso ali do "yellow" correto? Existe algumas bibliotecas simples que realizam traduções de palavras, uma alternativa para lhe ajudar seria obter seu input em portugues e usar uma dessas libs para converter a cor digitada para ingles. Input: Amarelo Sistema converte amarelo para yellow e pronto. Dá uma olhada nesses artigos para tu ter uma ideia. Tradução de Texto com Python e Googletrans
×
×
  • Create New...