-
Notifications
You must be signed in to change notification settings - Fork 3
/
5aula.py
72 lines (63 loc) · 2.58 KB
/
5aula.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 22/04/2015
# 5 aula pratica
# Exercise 1
def conta_palavras(frase):
"""
Faca uma funcao que dada uma frase, retorne o numero de palavras da frase.
Considere que a frase pode ter espacos no inicio e no final.
"""
#frase = str.strip(frase)
frase = str.split(frase)
return len(frase)
# Exercise 2
def retirar(frase, palavra, pos1, pos2):
"""
Faca uma funcao que dada uma frase, uma palavra, e duas posicoes,
retorna a frase excluindo-se as ocorrencias desta palavra entre estas duas
posicoes, inclusive
"""
index = str.find(frase, palavra, pos1, pos2)
size = len(palavra)
if (not index == -1) and (pos1 + index + size < pos2):
pos2 -= index + size - 1
#pos2 = pos2 - index - size + 1
return frase[:index] + retirar(frase[index + size:], palavra, 0, pos2)
else:
return frase[:index] + frase[index + size:]
# Exercise 3
def substituir_espaco(frase):
"""
Faca uma funcao que dada uma frase, substitua todos os espacos em branco por ”#”,
so que sem usar a funcao replace.
"""
frase = str.split(frase, " ")
frase = str.join("#", frase)
return frase
# Exercise 4
def apos_chr(frase, caracter):
"""
Escreva uma funcao que tenha dois parametros, uma string e um caractere,
e retorne apenas o trecho da string situado entre a primeira ocorrencia do
caractere ate o final da string. Por exemplo, se a entrada for ”abcabc” e
”a”, a sa´ıda deve ser ”bcabc”.
"""
index = str.find(frase, caracter, 0, len(frase))
return frase[index + len(caracter):]
# Exercise 5
def separar_tipos(tupla, elem = 0):
"""
Faca uma funcao que receba uma tupla de tres elementos como parametro,
e retorne duas tuplas, sendo que a primeira deve conter apenas os elementos
da tupla de entrada que forem do tipo string, e a segunda os elementos da
tupla de entrada que sejam dos tipos inteiro, float ou complex.
"""
if type(tupla[elem])==str:pass
# Exercise 6
def intercalando_listas(lista1, lista2):
return zip(lista1, lista2)
if __name__ == '__main__':
print ("Exc1 conta_palavras ", conta_palavras(" hola Susana te estamos llamando queremos jugar "))
print ("Exc2 retirar ", retirar("Hola Susana te estamos llamando queremos llamando", " llamando", 10, 48))
print ("Exc3 substituir ", substituir_espaco("Hola Susana te estamos llamando queremos llamando"))
print ("Exc4 apos_chr ", apos_chr("Hola Susana te estamos llamando queremos llamando", "na"))
print ("Exc6 intercalando_listas ", intercalando_listas([1,3,5], [2,4,6]))