If no Python
Estou desenvolvendo um sistema de cadastro simples em Python, porém estou com um pequeno problema.
Na seguinte parte do código ele pede o filtro independente do resultado do input:
Não estou entendo o porque disso, era para ele pedir o filtro para o usuário somente se o mesmo quiser inserir na consulta.
import dataset db = dataset.connect('sqlite:///mydatabase.db') tabela = db['Usuarios'] while True: print('Escolha a operação que deseja realizar com o cadastro do usuário') escolha = input('(1)Inserir (2)Consultar (3)Editar ou (4)Excluir -> ') if escolha == '1': while True: tabela.insert(dict(NOME=input('Nome -> '), IDADE=input('Idade -> '))) if input('Deseja inserir outro registro? (S/N) -> ') == 'N' or 'n': print() break elif escolha == '2': if input('Deseja inserir um filtro para exibir os resultado? (S/N) -> ') == 'S' or 's': filtro = input('Nome cadastrado a ser consultado -> ') resultado = db.query('SELECT * FROM Usuarios WHERE NOME LIKE %', filtro, '%') for row in resultado: print(resultado) else: resultado = db.query('SELECT * FROM Usuarios') for row in resultado: print(resultado) elif escolha == '3': filtro = input('Nome cadastrado a ser alterado -> ') tabela.update(dict(NOME=input('Nome -> '), IDADE=input('Idade ->')), [filtro]) elif escolha == '4': filtro = input('Nome cadastrado a ser excluido ->') tabela.delete() else: print('Escolha uma opção válida!')
Na seguinte parte do código ele pede o filtro independente do resultado do input:
elif escolha == '2': if input('Deseja inserir um filtro para exibir os resultado? (S/N) -> ') == 'S' or 's': filtro = input('Nome cadastrado a ser consultado -> ') resultado = db.query('SELECT * FROM Usuarios WHERE NOME LIKE %', filtro, '%') for row in resultado: print(resultado)
Não estou entendo o porque disso, era para ele pedir o filtro para o usuário somente se o mesmo quiser inserir na consulta.
Gustavo Machado
Curtidas 0
Melhor post
Emerson Nascimento
18/10/2019
tente algo assim:
ou:
if input('Deseja inserir um filtro para exibir os resultado? (S/N) -> ').upper() == 'S':
ou:
resposta = input('Deseja inserir um filtro para exibir os resultado? (S/N) -> ') if resposta.upper() == 'S':
GOSTEI 1
Mais Respostas
Gustavo Machado
18/10/2019
tente algo assim:
ou:
if input(''Deseja inserir um filtro para exibir os resultado? (S/N) -> '').upper() == ''S'':
ou:
resposta = input(''Deseja inserir um filtro para exibir os resultado? (S/N) -> '') if resposta.upper() == ''S'':
Funcionou Emerson, grato pela atenção.
GOSTEI 0