Python Dicas e Trechos de Código (Snippets) – Parte 8

Efetuar a leitura a partir da consola é algo de importante para podermos interagir com a aplicação em Python, ou seja poder pedir ao utilizador os inputs e de seguida efetuar o seu tratamento. Os inputs podem ser efetuados linha a linha ou então numa só linha e para isso existem diversas técnicas dependendo do problema.

 

Aqui fica os exemplos de formas de input em linha para strings.

movie, director, year = [input() for _ in range(3)]
print(f"{movie} (dir. {director}) came out in {year}")

# Another way
# Input text example: Dead Poets Society, Peter Weir, 1989
movie, director, year = input().split(',')
print(f"{movie} (dir. {director}) came out in {year}")

Mais um exemplo de input em linha para dígitos.

# Only integers
inputed_numbers = list(map(int, input().split()))

# Only floats
inputed_numbers = list(map(float, input().split()))

# Digits input integers and floats
# I have used this for matrix calculation where the user can input mix values
inputed_numbers = list(map(lambda x: float(x) if '.' in x else int(x), input().split()))

Aqui fica um exercício interessante da introdução em linha.

O objectivo é a implementação de um algoritmo que soma os dígitos duma lista que estão compreendidos por outros dois dígitos.

1ª linha introduzido uma sequência de dígitos separados por espaços.
2ª linha introduzidos dois dígitos separados por espaços a e b de forma que a <= b.

O output é a soma dos números da lista que estão compreendidos entre a e b.

Exemplo:

Input:

50 10 30 40 20
20 40

Output:

90

Ou seja só são somados os números compreendidos entre 20 e 40 inclusive, neste caso 30+40+20 = 90.

A minha solução:

 

 

 

 

 

def range_sum(numbers, start, end):
    number_sum = 0
    for n in numbers:
        if int(start) <= n <= int(end):
            number_sum += n
    return number_sum


inputed_numbers = list(map(int, input().split()))
a, b = input().split()
print(range_sum(inputed_numbers, a, b))

Exercício para determinar se é vogal ou uma consoante numa string.

Para cada carácter da string devemos dizer se é vogal ou uma consoante. Se for encontrado um símbolo que não pertença ao alfabeto, devemos parar o processamento.

O formato de input:

  • Uma linha com n caracteres.
  • Os caracteres aeiou são considerados vogais.
  • Tratar o resto das letras como consonantes.

O formato de output:

  • Imprimir “vogal” se o carácter for uma vogal.
  • Imprimir “consoante” se o carácter for uma consoante.
  • Parar a impressão ao primeiro carácter que não pertença ao alfabeto.

 

text_seq = input()
vowels = ['a', 'e', 'i', 'o', 'u']
for char in text_seq:
    if char.isalpha():
        print('vogal' if char in vowels else 'consoante')
    else:
 	    break

Leave a Reply