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