Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Um programa Python que obtém o caractere correspondente a uma determinada posição de uma string - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 651 vezes |
Pergunta/Tarefa: Escreva um programa Python que pede para o usuário informar uma palavra ou frase. Em seguida faça a leitura de um número inteiro indicando a posição de um determinado caractere da string lida e exiba o caractere correspondente. Seu código deverá validar a posição de forma a evitar o erro: IndexError: string index out of range Sua saída deverá ser parecida com: Informe uma palavra ou frase: Gosto muito de Java Informe uma posição de caractere: 7 Palavra ou frase informada: Gosto muito de Java O caractere na posição 7 é "u" Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): # vamos pedir para o usuário informar uma palavra ou frase frase = input("Informe uma palavra ou frase: ") # agora vamos pedir para o usuário informar a posição de um caractere # esta posição deve estar no intervalo 0 e tamanho da stirng - 1 posicao = int(input("Informe uma posição de caractere: ")) # vamos mostrar a string informada print("Palavra ou frase informada: {0}".format(frase)) # agora vamos mostrar o caractere na posição informada if (posicao >= 0) and (posicao < len(frase)): print("O caractere na posição {0} é \"{1}\"".format(posicao, frase[posicao])) else: print("Você informou uma posição inválida") if __name__== "__main__": main() |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional |
Exercício Resolvido de Python - Programação Linear em Python - Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metrosQuantidade de visualizações: 525 vezes |
Pergunta/Tarefa: Este exercício de Python aborda o uso da biblioteca PuLP para resolver um problema de Pesquisa Operacional usando Programação Linear. Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros quadrados de casca de árvore, dispondo de carvalho e pinheiro, sendo que o carvalho gera 40kg de lenha, 150kg de madeira e 3 metros quadrados de casca aproveitável; o pinheiro 100kg de lenha, 60kg de madeira e 8 metros quadrados de casca aproveitável. Formule o problema, de modo a minimizar os custos, sabendo que cada carvalho custa R$ 1500,00 para a empresa e cada pinheiro R$ 1200,00. Em seguida use a API de Programação Linear do PuLP para resolver o problema e mostrar a melhor solução. Sua saída deverá ser parecida com: x: 11.111111 y: 5.5555556 Antes de passarmos para o código Python é importante entendermos e fazermos a modelagem do problema. Neste exercício busca-se encontrar o custo mínimo. Assim, a nossa função objetivo será dada pela combinação dos preços do carvalho e do pinheiro. Veja: Zmin = 1500x + 1200y Aqui nós definimos a variável x para o carvalho e a variável y para o pinheiro. Agora que já temos a função Z, o próximo passo é analizarmos as restrições. Note que a empresa precisa de 1000kg de lenha. O carvalho gera 40kg de lenha, enquanto o pinheiro gera 100kg. Então nossa primeira restrição é: R1 = 40x + 100y >= 1000 Para a segunda restrição nós temos que a empresa precisa de 2000kg de madeira. O carvalho gera 150kg de madeira, enquanto o pinheiro gera 60kg. Assim, nossa segunda restrição é: R2 = 150x + 60y >= 2000 Finalmente, para a terceira restrição, sabemos que a empresa necessita de 50 metros quadrados de casca de árvore. O carvalho gera 3 metros quadrados de casca aproveitável, enquanto o pinheiro gera 8 metros quadradros. Então a terceira restrição é: R3 = 3x + 8y >= 50 As restrições 4 e 5 dizem que tanto o x quanto o y devem ser maiores ou iguais a zero, e que ambos devem pertencer aos números reais. Veja agora como usamos os dados de formulação para resolver este exercício usando Python e a biblioteca PuLP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar as ferramentas necessárias from pulp import LpMinimize, LpProblem, LpVariable # método principal def main(): # vamos criar o modelo modelo = LpProblem(name="Pesquisa Operacional em Python", sense=LpMinimize) # agora inicializamos as variáveis de decisão x = LpVariable(name="x", lowBound=0) y = LpVariable(name="y", lowBound=0) # vamos adicionar as restrições de acordo com a formulação do problema modelo += (40 * x + 100 * y >= 1000, "R1") modelo += (150 * x + 60 * y >= 2000, "R2") modelo += (3 * x + 8 * y >= 50, "R3") # definimos a função objetivo e a adicionamos ao modelo funcao_objetivo = 1500 * x + 1200 * y modelo += funcao_objetivo # e tentamos resolver o problema modelo.solve() # assumindo que o problema foi resolvido com sucesso, vamos # mostrar os valores das variáveis x e y for var in modelo.variables(): print(f"{var.name}: {var.value()}") if __name__== "__main__": main() Note como o PuLP nos deu o custo mínimo de 23333.33 para atingir o objetivo desejado pela madeireira. |
Python ::: Tkinter GUI Toolkit ::: Entry |
Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()Quantidade de visualizações: 1038 vezes |
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set(). No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto. Veja o código Python completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # variáveis globais caixa_texto_1 = None # método principal def main(): # acessamos a variável global global caixa_texto_1 # vamos criar o frame principal da aplicação Tkinter janela = Tk() # agora definimos o tamanho da janela janela.geometry("600x400") # criamos uma caixa de texto Entry de linha única caixa_texto_1 = Entry(janela, width=40) caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10) # criamos uma segunda caixa de texto Entry de linha única caixa_texto_2 = Entry(janela, width=40) caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0) # vamos criar um botão Button btn = Button(janela, text="Definir Foco", width=20, command=definir_foco) btn.grid(column=0, row=2, sticky=W, padx=15, pady=10) # entramos no loop da aplicação janela.mainloop() # função para definir o foco na primeira caixa de texto def definir_foco(): # definimos o foco na primeira caixa de texto Entry caixa_texto_1.focus_set() if __name__== "__main__": main() |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como centralizar uma janela QMainWindow do PyQtQuantidade de visualizações: 106 vezes |
Nesta dica mostrarei como podemos centralizar a janela principal de nossa aplicação PyQt. Note que esta janela principal, na maioria das vezes, é representada por uma instância da classe QMainWindow. Veja o código completo para o exemplo, já atualizado para o PyQt6: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # vamos criar uma classe que herda de QMainWindow class JanelaPrincipal(QMainWindow): # construtor da classe def __init__(self): super().__init__() # definimos o título da janela self.setWindowTitle("Cadastro de Produtos") # vamos definir as dimensões da janela self.resize(600, 420) # vamos obter a geometria do frame da nossa janela geometria_frame = self.frameGeometry() # acessamos a geometria da monitor e obtemos seu centro ponto_central = self.screen().availableGeometry().center() # movemos o retângulo obtido anteriormente para o centro da tela geometria_frame.moveCenter(ponto_central) # e finalmente movemos nossa janela para este ponto self.move(geometria_frame.topLeft()) if __name__== "__main__": # cria a aplicação app = QApplication(sys.argv) # cria a janela principal e a coloca visível janela_principal = JanelaPrincipal() janela_principal.show() # executa a aplicação app.exec() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |