Exercícios¶
Exercício 1¶
PARTE A
Escreva uma função separa, que recebe um string texto e um caractere separador. A função “corta” o texto nos separadores, retornando uma lista com as palavras do texto.
Exemplo:
para o texto: “,1,,2,3,” a saída deve ser a lista: [‘’, ‘1’, ‘’, ‘2’, ‘3’, ‘’] onde ‘’ indica uma palavra vazia (entre 2 separadores consecutivos).
PARTE B
Usando a função do item anterior, escreva um programa que leia uma linha com palavras separadas por vírgula, e determina o comprimento da maior palavra. A linha pode conter palavras vazias.
PARTE C
Escreva o programa da parte B usando a função split()
.
Exercício 2¶
Escreva um programa que leia vários números reais em uma mesma linha, e imprima a soma.
Exercício 3¶
Escreva um programa que leia um arquivo contendo ao menos 1 número real por linha, e para cada linha imprima a sua soma. Ao final, o programa deve imprimir também a soma total. Exemplo: para o arquivo numeros.txt com:
5 4 3 2 1
4 4 4
2.7
3.14 2.1
a saída deve ser:
Digite o nome do arquivo: numeros.txt
Soma = 15.000000
Soma = 12.000000
Soma = 2.700000
Soma = 5.240000
Total = 34.940000
Dessa vez, use um editor como o Idle no seu computador para escrever o programa.
Exercício 4¶
Parte A
Escreva uma função com protótipo
def insereSeNovo (nome, lista):
''' (str, list) -> int
modifica a lista, inserindo nome na lista.
Retorna a posição de nome na lista ou None caso ele já exista.
'''
que devolve a posição em que o string x ocorre em lista ou, caso x não estiver na lista, insere x no final da lista e devolve o índice dessa posição.
Parte B
Escreva um programa que leia uma sequência de nomes e, usando a função do item anterior, conte quantas vezes cada nome ocorre na sequência.
Exemplo:
Para n = 7 e a sequência Neimar Messi Kaka Neimar Neimar Messi Zico
a saída deve ser:
Neimar ocorre 3 vezes Messi ocorre 2 vezes Kaka ocorre 1 vezes Zico ocorre 1 vezes