Exercícios Resolvidos de Operações com String

Ver Teoria

Enunciado

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!

Resposta