Hoje vou publicar mais uma série de trechos de código e no final alguns exercícios resolvidos em Python. Alguns dos exercícios resolvidos por mim, foram exercícios efetuados em desafios propostos.
Os exercícios podem ser encontrados em HackerRank que são grátis ou em JetBrains Academy que é pago.
Exemplos de como juntar elementos do tipo strings a partir de uma lista.
word_list = ["rose", "lily", "tulip", "orchid"] " ".join(word_list) # rose lily tulip orchid "".join(word_list) # roselilytuliporchid "_".join(word_list) # rose_lily_tulip_orchid " and ".join(word_list) # rose and lily and tulip and orchid
Exemplos de como usar o método splitlines.
long_text = 'first line\nsecond line\rthird line\r\nforth line' long_text.splitlines() # ['first line', 'second line', 'third line', 'forth line']
O método splitlines possuí um argumento opcional keepends que possui valor True ou False. Se keepends = True, os caracteres de quebra de linha e tabulação serão guardados na lista.
long_text = 'first line\nsecond line\rthird line\r\nforth line' long_text.splitlines(keepends=True) # ['first line\n', 'second line\r', 'third line\r\n', 'forth line']
Exemplo do uso dos argumentos sep e end do método print.
print('Acácio', 'Ferreira', sep='&') # Acácio&Ferreira print('Acácio', 'Ferreira', sep='&', end=', Lda.') # Acácio&Ferreira, Lda. print('Acácio', 'Ferreira', sep=0) # TypeError: sep must be None or a string, not int # o argumento 'sep', pode ser substituido pelo argumento 'end' com o uso de uma outra string. print('Tick-Tock', end=' the ') print('Crocodil', end='e') # Tick-Tock the Crocodile
O teste de programação “mais famoso” FizzBuzz.
Este teste é muito usado em entrevistas de candidatos a programadores, este permite filtrar cerca 99.5% dos candidatos. Ora aqui fica o enunciado.
Imprima os números de 1 até 100 inclusive seguindo as seguintes instruções:
- se um número é múltiplo de 3, imprima “Fizz” em vez desse número
- se um número é múltiplo de 5, imprima “Buzz” em vez desse número
- para os números que são ambos múltiplos de 3 e 5, imprima “FizzBuzz”
- imprima os restantes que não se enquadram nos problemas acima.
O output deve ser imprimido em linhas separadas.
Solução:
for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print('FizzBuzz') elif i % 3 == 0: print('Fizz') elif i % 5 == 0: print('Buzz') else: print(i)
Como gerar texto a partir de dígitos para um sistema de voz?
Imaginemos que digitamos um número de telefone e o sistema de voz necessita do texto para poder processar o mesmo para voz.
Exemplo:
Input
213948111
Output
dois
um
três
nove
quatro
oito
um
um
um
Solução:
numbers = ['zero', 'um', 'dois', 'três', 'quatro', 'cinco', 'seis', 'sete', 'oito', 'nove'] input_number = input() for n in input_number: print(numbers[int(n)])