-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaprendendo_python.py
294 lines (212 loc) · 7.49 KB
/
aprendendo_python.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
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
# -*- coding: utf-8 -*-
"""aprendendo_python.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1wx9EJkNjhgVm0hrW2FCXNg9QWQ18dlEo
Variáveis em python não precisam ser declaradas, basta começar a utilizar. Elas também não tem um tipo rígido. Existem alguns tipos básicos de dados em python, como nas variáveis abaixo.
"""
x = 5 #variável de número inteiro
y = 2.3 #número em ponto flutuante (float, double)
z = True #Booleano (False, True)
txt = "Olá Python!" #texto
print(x) #mostra a variavel x
# o comando str() transforma qualquer objeito em texto
print("A variável y é str(y)")
print(z)
print(txt)
"""O Python possui vários tipos de coleções. O tipo mais comum é o ArrayList. Ele permite guardar qualquer tipo de objeto, pode aumentar ou diminuir dinamicamente, e é acessado com um índice inteiro."""
lista=[5,2,9,1,0,12]
print(lista)
print(lista[0])
print(lista[3])
"""Podemos criar uma lista vazia com [] e ir adicionando elementos com o append()."""
lista=[]
lista.append(3)
lista.append(2)
lista.append(9)
lista.append(4)
lista.append(7)
print(lista)
"""Também é possível acessar os elementos de um ArrayList em ordem reversa usando índices negativos."""
print(lista[-1])
print(lista[-2])
"""Usando o : é possível acessar os subconjuntos do ArrayList."""
#Acessar os elementos 0, 1 e 2
#lista[primeiro elemento:elemento depois do último]
print(lista[0:3])
#acessar todos os elementos
print(lista[:])
#acessar os elementos do primeiro até o terceiro
print(lista[:3])
#acessar do terceiro elemento [índice 2] até o final
print(lista[2:])
#acessar os elementos do 0 até o
"""Para saber o tamanho de uma lista usamos o comando len()"""
print(len(lista))
print(lista[1:len(lista)-1])
"""Em Python, os blocos do programa são definidos pela identação. Ou seja, os comandos que estiverem reacuados estão dentro de um bloco. Cada nível amias de recuo significado um nível a mais de aninhamento da estrutura do código. Nunca misture tabs e espaços! Abaixo temos o exemplo que um comando if."""
x=3
if x>2:
print("primeiro comando")
print("segundo comando")
print("terceiro comando")
"""A mesma lógica vale para estruturas aninhadas. Veja abaixo:"""
x=3
if x>2:
print("comando 1")
print("comando 2")
if x>5:
print("comando 3")
print("comando 4")
print("comando 5")
print("comando 6")
"""É possível colocar listas dentro de listas (parecido com matrizes)."""
m=[[2,4],[1,9,7]]
print(m)
"""A linguagem Python utiliza operadores lógicos semelhantemente a outras linguagens."""
a=1
b=3
c=4
d=2
#igualdade
if b==3:
print("b é igual a 3")
#diferença
if c!=5:
print("c é diferente de 5 e vale "+ str(c))
#maior, menor, maior ou igual, menor ou igual
if a<=10:
print("a é menor que 10 e vale "+ str(a))
#negação
if not(d<=1):
print("d não é maior ou igual a 1 e vale "+ str(d))
#logica e=and e ou=or
if ((a+b)<6) or ((b-c)<0 and (c+d)==6):
print("a + b é igual a "+ str(a+b)+ " e é menor que 6 ou b - c é menor que zero e c + d é igual a " + str(c+d))
"""O laço de repetição for itera sobre uma sequência."""
#itera i na sequênciade 0 até 4
for i in range(5):
print(i)
print("-----")
for i in range(2,5):
print(i)
print("-----")
for i in range(10,2,-2):
print(i)
"""O for pode iterar uma variável diretamente em uma lista. Por exemplo:"""
lista=["mercúrio","vênus","terra","marte"]
#acesso via indice
for i in range (4):
print(lista[i])
#acesso pelo tamanho da lista
print("-----")
for i in range(len(lista)):
print(lista[i])
#iteração diretamente da lista
print("-----")
for planeta in lista:
print(planeta)
"""Ao acessar com índice, é possível altera a lista, mas não é possível alterar ao iterar diretamente na lista."""
lista=["mercúrio","vênus","terra","marte"]
print("assim funciona:")
for i in range(len(lista)):
lista[i]=lista[i]+"!"
print(lista)
print("-----")
print("assim não funciona")
for planeta in lista:
planeta=planeta+"*"
print(planeta)
print(lista)
"""Concatenar listas é fácil:"""
lista1=["pão","presunto"]
lista2=["queijo","pão"]
lista3=lista1+lista2
print(lista3)
lista3.pop(3)
print(lista3)
"""O laço de repetição while (enquanto) funciona como nas outras linguagens."""
lista=["a","b","c","d"]
i=0
while(lista[i]!="c"):
print(lista[i])
i=i+1
"""As funções em Python são definidas com o comando "def", podendo receber parâmetros e retornar ou não valores."""
def calcula_media(v1,v2,v3):
soma=v1+v2+v3
media=soma/3
return media
print("calcula a média:")
media=calcula_media(7,10,4)
print(media)
"""Retornando mais de um valor da função:"""
def media_e_maior(v1,v2,v3):
media=(v1+v2+v3)/3.0
maior=max([v1,v2,v3])
return media,maior
media,maior=media_e_maior(10,50,20)
print(media)
print(maior)
"""Um dicionário, ou mapa, permite criar uma coleção em que eu acesso os elementos por meio de uma chave, que é qualquer objeto. Ou seja, é criada uma associação entre uma chave e um valor com o par (key,value)."""
dist_sol={"mercúrio":5.8,"vênus":10.8,"terra":15}
print(dist_sol["terra"])
dist_sol["marte"]=23.0
print(dist_sol)
#print(dist_sol["plutão"]) -> nao existe no dicionario dist_sol
"""O dicionário tem uma função que retonra a lista de chaves: a função keys()."""
print(dist_sol.keys())
"""Para verificar se uma chave existe ou não, podemos usar o comando "in" que verificar se um item existe em uma lista ou o "not in" para verificar se não está na lista."""
if "saturno" not in dist_sol.keys():
print("saturno não está na lista")
if "terra" in dist_sol.keys():
print("terra está na lista")
"""Quando o dicionário é tratado como um iterável, ele itera apenas nas chaves. Ou seja, não é preciso usar o keys() nesse caso."""
if "saturno" not in dist_sol:
print("saturno não está no dicionário")
if "terra" in dist_sol:
print("terra está no dicionário")
"""O comando get() retorna o valor de uma chave, mas verifica se a chave existe, se não existir, retorna None."""
print(dist_sol.get("terra"))
"""Também é possível atribuir um valor para o get()."""
print(dist_sol.get("plutão",0.0))
"""O comando "del" remove um elemento de um dicionário.
"""
print(dist_sol)
if "marte" in dist_sol:
del dist_sol["marte"]
print(dist_sol)
"""Para ver a lista de valores usamos o comando values()."""
print(dist_sol.values())
for k in dist_sol.keys():
print(dist_sol[k])
"""Tuplas são listas imutáveis."""
t=("x","y")
print(t)
print(t[1])
"""Com isso, podemos iterar ao mesmo tempo em chave e valor."""
for k,v in dist_sol.items():
print(k,v)
"""Modificar um dicionário durante a iteração não funciona e gera erro."""
for k,v in dist_sol.items():
print(k,v)
del dist_sol["marte"]
"""Para resolver o problema, podemos criar uma cópia das chaves e iterar nessa cópia."""
dist_sol["terra"]=15.0
print(dist_sol)
for k in list(dist_sol.keys()):
if dist_sol[k]>12.0:
del dist_sol[k]
print(dist_sol)
"""Numpy é ...."""
import numpy as np
"""A estrutura de dados mais importante do numpy é o array. O array é uma matriz multidimensional com operadores de álgebra."""
#criar um array a partir de uma lista
v=np.array([2,4,7])
print("vetor criado a partir de lista:", v)
print("segundo elemento do vetor: ",v[1])
#criar um array a partir de uma lista multidimensional
M=np.array(([2,5,3],[9,1,7]))
print("matriz criada a partir de lista multidimensional: \n", M)
print("primeiro elemento da segunda linha: ",M[(1,0)])
#também é possível usar slices em arrays
print("segundo coluna da matriz: ",M[1, 2:4])