1
resposta

Resolvendo um exercício de estruturas de repetição de outras formas

Olá, sou iniciante na programação, estou praticando bastante estruturas de repetição e queria a opinião de vocês. Neste exercício, acho que abusei bastante dos booleanos pra interromper as repetições, queia saber como vcs fariam o mesmo exercício.

"""
Faça um programa que leia e valide as seguintes informações:
Nome: maior que 3 caracteres;
Idade: entre 0 e 150;
Salário: maior que zero;
Sexo: 'f' ou 'm';
Estado Civil: 's', 'c', 'v', 'd';
"""


def input_idade():
    valida_idade = False
    idade = int(input('Digite idade: '))
    while not valida_idade:
        if idade < 1 or idade > 150:
            print('Dados invalidos!')
            idade = int(input('Digite idade: '))
        else:
            valida_idade = True


def input_nome():
    valida_nome = False
    nome = str(input('Digite nome: ')).strip().upper()
    while not valida_nome:
        if len(nome) < 3:
            print('Dados invalidos!')
            nome = str(input('Digite nome: ')).strip().upper()
        else:
            valida_nome = True


def input_salario():
    salario = float(input('Digite salario: '))
    while salario < 1:
        print('Dados invalidos!')
        salario = float(input('Digite salario: '))


def input_sexo():
    valida_sexo = False

    while not valida_sexo:
        sexo = str(input('Digite sexo: [M ou F] ')).upper().strip()
        if len(sexo) > 1 or sexo not in 'MF':
            print('Dados invalidos')
        else:
            valida_sexo = True


def input_estado_civil():
    valida_estado_civil = False
    while not valida_estado_civil:
        estado_civil = str(input('Estado civil:\n[S] Solteiro\n[C] Casado\n[V] Viuvo\n')).upper().strip()
        if len(estado_civil) > 1 or estado_civil not in 'SCV':
            print('Dados invalidos!')
        else:
            valida_estado_civil = True


input_nome()
input_idade()
input_sexo()
input_estado_civil()
input_salario()
1 resposta

Julio,

Cara, achei muito legal o que vc fez, parabéns!