Uma biblioteca distribui um cartão magnético para que os alunos possam frequentá-la. A senha inicial, enviada pelo correio, é gerada automaticamente a partir da data de nascimento do aluno ('dd/mm/aaaa') do seguinte modo:
mm'$'dd(invertido) + '#' + dd'!'mm(invertido) + '\'+aaaa
Exemplo:
Data de nascimento: 25/10/1995
25$01#10!52\1995
Escreva um programa que leia o dia, mês e ano de nascimento de um aluno e retorne sua senha de acordo com as regras acima.
Passo 1
Fala aí, seus doido! Cara, a primeira coisa que a gente tem que fazer aqui é pedir pro usuário os dados da data de nascimento. Vamos começar usando a função input() pra fazer essas perguntas pro usuário.
Criamos três variáveis, pra guardar os três dados da data de nascimento. Mas repara que a gente não converteu os dados pra números inteiros. O resultado da função input() é sempre texto (string). Mas como a gente não pretende fazer operações matemáticas, não precisamos converter pra números.
Na verdade, é justamente o contrário, pois a gente vai precisar fazer concatenações, que são operações de string. Por isso, a gente realmente precisa que esses dados fiquem na forma de string, ok?!
Passo 2
Agora, a gente tem que criar uma string de senha que vai seguir o modelo descrito no enunciado:
mm'$'dd(invertido) + '#' + dd'!'mm(invertido) + '\'+aaaa
O primeiro problema que a gente quer entender é que pra formatar essa senha a gente precisa do mês e o dia invertidos. Vamos começar invertendo essas variáveis.
Pra pegar uma cópia de string de trás pra frente, a gente pode pegar a string com seguida do fatiamento [::-1]. Strings de trás pra frente são muito comuns e é importante você lembrar desse padrão, beleza?!
Passo 3
Beleza! Agora já temos todos os dados necessários pra fazer a senha. Vamos seguir o modelo.
mm'$'dd(invertido) + '#' + dd'!'mm(invertido) + '\'+aaaa
Olha, a gente simplesmente foi concatenando (unindo) as strings pra que o resultado fique no formato esperado no enunciado. É importante tu se ligar que pra colocar uma contra barra na string, assim como manda no modelo do enunciado, a gente tem que colocar duas barras na string. (\\).
Isso é porque a contra barra (\) é usada pra inserir caracteres especiais na string, e pra adicionar a própria contra barra é necessário usar duas.
Agora, só precisamos exibir pro usuário.
Passo 4
No fim, a gente precisa exibir a senha que a gente montou pro aluno. Pra exibir, precisamos usar a função print().
Agora sim! O resultado vai ser exibido no final e assim a gente finaliza o exercício! Te espero no próximo, doido!