-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathteste.py
More file actions
233 lines (159 loc) · 6.61 KB
/
teste.py
File metadata and controls
233 lines (159 loc) · 6.61 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
'''
cont=0
for x in range(1, 100):
cont = cont + x
print('%s\n' %(cont))
medicos = [('Carlos', 'cardiologista', 'hospital Souza Aguiar'),
('Maria','oftalmologista', 'Clínica dos olhos')]
msg = '{0} é {1} do {2}'
for nome, especialidade, localTrabalho in medicos:
print(msg.format(nome, especialidade, localTrabalho))
intab = "aeiou"
outtab = "12345"
str = "Essa é uma string de exemplo!!!"
trantab = str.maketrans(intab, outtab)
print(str.translate(trantab))
lista = ["Java", "C", "Javascript", "C#", "Python"]
print(lista)
for i, linguagem in enumerate(lista):
print(i + 1, '=>', linguagem)
#Tuplas
#tupla = ('a', 'b', 'c', '...', 'z') ou tupla = 'a', 'b', 'c', '...', 'z'
#tupla um elemento => tupla = (1,)
#tupla p/ lista => lista = list(tupla)
#lis2ta p/ Tupla => tupla = tuple(lista)
coding: latin1
Conjuntos de dados
s1 = set(range(5))
s2 = set(range(2, 6))
s3 = set(range(2, 10, 2))
s4 = set(range(0, -10, -1))
# Exibe os dados
print ('s1:', s1, '\ns2:', s2, '\ns3:', s3)
# União
s1s2 = s1.union(s2)
print ('União de s1 e s2: ', s1s2)
# Diferença
print ('Diferença de s1s2 com s3:', s1s2.difference(s3))
# Interseção
print ('Interseção de s1s2 com s3:', s1s2.intersection(s3))
# Testa se um set inclui outro
if s1.issuperset([1, 2]):
print ('s1 inclui 1 e 2')
# Testa se não existe elementos em comum
if s1.isdisjoint(s2):
print ('s1 e s2 não tem elementos em comum')
DICIONÁRIO
Um dicionário é uma lista de associações compostas por uma chave única e seu respectivo valor
Dicionários são mutáveis, como as listas
A chave precisa ser de um tipo imutável, normalmente strings, mas, podem ser também tuplas ou tipos numéricos.
Já o valor associado a uma chave pode ser tanto mutável quanto imutável.
Obs. O dicionário não dá garantia de que as chaves estarão ordenadas.
O comando abaixo cria um dicionário e atribui a variável dc01
dc01 = {"nome": "Maria", "profissão": "médica"}
{"nome": "Maria", "profissão": "médica"}
Outra forma de criar um dicionário:
dc02 = dict({"nome": "Paulo", "profissão": "engenheiro"})
{"nome": "Paulo", "profissão": "engenheiro"}
Acessando itens
dc01['nome']
Maria
dc02['nome']
Paulo
Adicionando itens
dc01['CPF'] = '362378933-20'
dc01
{'nome': 'Maria', 'profissão': 'médica', 'CPF': '362378933-20'}
Deletando itens
del dc01['CPF']
dc01
{'nome': 'Maria', 'profissão': 'médica'}
Obtendo os itens:
itens = dc01.items()
itens
dict_items([('nome', 'Maria'), ('profissão', 'médica’)])
Obtendo as chaves
chaves = dc01.keys()
chaves
dict_keys(['nome', 'profissão’])
Obtendo os valores
valores = dc01.values()
valores
dict_values(['Maria', 'médica'])
Criando um dicionário de carros, onde a chave é a marca e os valores são os modelos de cada marca:
carros = {'Ford': ['KA', 'New Fiesta', 'Focus Fastback', 'Fusion'], 'Chevrolet': ['Camaro', 'Prisma', 'Cobalt', 'Onix'], 'Nissan': ['GT-R', 'Leaf', 'Sentra', 'Versa']}
carros
{'Ford': ['KA', 'New Fiesta', 'Focus Fastback', 'Fusion'], 'Chevrolet': ['Camaro', 'Prisma', 'Cobalt', 'Onix'], 'Nissan': ['GT-R', 'Leaf', 'Sentra', 'Versa']}
Vamos adicionar mais uma chave, ou seja, mais uma marca de carro e seus modelos:
carros['Volkswagen'] = ['Gol', 'Up!', 'Fox', 'Polo']
carros
{'Ford': ['KA', 'New Fiesta', 'Focus Fastback', 'Fusion'], 'Chevrolet': ['Camaro', 'Prisma', 'Cobalt', 'Onix'], 'Nissan': ['GT-R', 'Leaf', 'Sentra', 'Versa'], 'Volkswagen': ['Gol', 'Up!', 'Fox', 'Polo']}
Imprimindo o dicionário carros:
for marca, modelo in carros.items():
print(marca, ' => ', modelo)
Ford => ['KA', 'New Fiesta', 'Focus Fastback', 'Fusion']
Chevrolet => ['Camaro', 'Prisma', 'Cobalt', 'Onix']
Nissan => ['GT-R', 'Leaf', 'Sentra', 'Versa']
Volkswagen => ['Gol', 'Up!', 'Fox', 'Polo']
matriz esparsa
Uma matriz é esparsa quando possui uma grande quantidade de elementos que valem zero, ou não estão presentes, ou ainda, não são necessários.
É implementada através de um conjunto de listas ligadas que apontam para elementos diferentes de zero, de forma que os elementos que possuem valor zero ou ausentes não são armazenados.
Matrizes esparsas têm aplicações em problemas de engenharia, física (por exemplo, o método das malhas para resolução de circuitos elétricos ou sistemas de equações lineares).
Elas são, em geral, resultantes de alguns sistemas lineares de equações, que representam alguns sistemas físicos.
Em um projeto que simule a hidrodinâmica de um rio para verificar como ocorre a expansão dos poluentes, é um caso que pode se beneficiar da aplicação de matriz esparsa.
Outro exemplo seria recomendações de filmes em serviços como o do Netflix ou produtos em site de vendas.
No caso do netflix, cada linha seria um cliente e cada coluna um filme que está no catálogo do Netflix. Em seguida marcaríamos cada elemento (i, j) dessa matriz com 1 se o cliente i assistiu o filme j e 0 caso contrário. Como o catálogo de filmes é muito grande, a maioria dos elementos dessa matriz será 0.
Sistemas esparsos são frequentes em inúmeras atividades científicas, por exemplo:
Geofísica
Astrofísica
Estudos de Modelos Oceânicos
Engenharia Química
Engenharia Estrutural
Cartografia, Simulação
Controle de Tráfego Aéreo
Estatística
O processamento de dados em sistemas assim, se beneficiam muito da representação computacional de matriz esparsa, por economizar recursos de memória e processamento, de outra forma, haveria desperdício de recursos computacionais para representar e processar dados irrelevantes.
dim = 6, 12
mat = {}
# Tuplas são imutáveis
# Cada tupla representa
# uma posição na matriz
mat[3, 7] = 2
mat[4, 6] = 9
mat[6, 3] = 8
mat[5, 4] = 3
mat[2, 9] = 4
mat[1, 0] = 7
for lin in range(dim[0]):
for col in range(dim[1]):
# Método get(chave, valor)
# retorna o valor da chave
# no dicionário ou se a chave
# não existir, retorna o
# segundo argumento
if(col== dim[1] - 1):
print(mat.get((lin, col), 0), )
else:
print(mat.get((lin, col), 0), end=" ")
A saída será:
0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 4 0 0
0 0 0 0 0 0 0 2 0 0 0 0
0 0 0 0 0 0 9 0 0 0 0 0
0 0 0 0 3 0 0 0 0 0 0 0
Veja que mat[6, 3] = 8 não aparece porque tá fora da dimensão da matriz.
A dimensão da matriz é: 6 linhas( de 0 a 5 ) e 12 colunas ( de 0 a 11), portanto a coordenada mat[6, 3] tá fora da matriz, já que a linha 6 não existe.
def fat(n):
return reduce(lambda x, y: x * y, range(1, n))
'''
'''
x = 'fernando'
print(x[:3])
print(x[3::-1])
print(x[:2])
print(x[:-1:3])
print(x[::-1])
'''
import datetime
print(datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S"))