Skip to content

Commit bcac062

Browse files
Add files via upload
1 parent 6c4d09d commit bcac062

16 files changed

Lines changed: 902 additions & 0 deletions

aula07-exercicio.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
4+
#Quiz: Qual é o tipo destes objetos?
5+
'''
6+
QUESTION 1 OF 5
7+
Qual é o tipo deste objeto? "12". Há um ambiente de programação, mais abaixo nesta página, que você pode utilizar para
8+
experimentação. Entre com seu código e o execute com o botão "Execução de teste".
9+
'''
10+
#str
11+
12+
'''
13+
QUESTION 2 OF 5
14+
Qual é o tipo deste objeto? 12.3 Tem um ambiente de programação, mais abaixo nesta página, que você pode usar para experimentação.
15+
Entre com seu código e o execute com o botão "Execução de teste".
16+
'''
17+
#float
18+
19+
'''
20+
QUESTION 3 OF 5
21+
Qual é o tipo desse objeto? len("my_string") Tem um ambiente de programação, mais abaixo nesta página, que você pode usar para
22+
experimentação. Entre com seu código e o execute com o botão "Execução de teste".
23+
'''
24+
#int
25+
26+
'''
27+
QUESTION 4 OF 5
28+
Qual é o tipo desse objeto? "hippo" *12 Tem um ambiente de programação, mais abaixo nesta página, que você pode usar para experimentação.
29+
Entre com seu código e o execute com o botão "Execução de teste".
30+
'''
31+
#str
32+
print(type("hippo" *12))
33+
print("hippo" *12)
34+
35+
'''
36+
Quiz: Vendas totais
37+
Neste quiz, você precisará alterar os tipos dos dados de entrada e de saída a fim de obter o resultado desejado.
38+
39+
Calcule e exiba o total de vendas da semana a partir dos dados fornecidos. Exiba uma string da forma "This week's total
40+
sales: xxx", onde xxx será o total real de todos os números. Você precisará alterar os tipos de dados de entrada a
41+
fim de calcular o total.
42+
'''
43+
mon_sales = "121"
44+
tues_sales = "105"
45+
wed_sales = "110"
46+
thurs_sales = "98"
47+
fri_sales = "95"
48+
49+
total = int(mon_sales) + int(tues_sales) + int(wed_sales) + int(thurs_sales) + int(fri_sales)
50+
print("This week's total sales:", total)
51+
52+
weekly_sales = int(mon_sales) + int(tues_sales) + int(wed_sales) + int(thurs_sales) + int(fri_sales)
53+
weekly_sales = str(weekly_sales) #convertemos para String novamente!!
54+
print("This week's total sales: " + weekly_sales)
55+
56+
#TODO: Imprima(Print) uma String no formato: This week's total sales: xxx
57+
# É provável que você precise escrever algumas linhas de código antes do prin

aula07-tipos-conversao.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
'''
4+
Tipo E Conversão De Tipo
5+
Você viu até agora quatro tipos de dados:
6+
7+
int
8+
float
9+
bool
10+
string
11+
'''
12+
13+
#Você viu rapidamente a função type() em um vídeo anterior, e ela pode ser utilizada para verificar o tipo
14+
#de dado de qualquer variável com a qual estiver trabalhando.
15+
16+
print(type(4))
17+
#int
18+
print(type(3.7))
19+
#float
20+
print(type('this'))
21+
#str
22+
print(type(True))
23+
#bool
24+
25+
#Você viu que pode alterar os tipos de variáveis para executar diferentes operações. Por exemplo,
26+
"0" + "5"
27+
28+
#fornece uma saída completamente diferente de
29+
0 + 5
30+
31+
#O que você acha que a estrutura abaixo forneceria?
32+
"0" + 5
33+
34+
#E o código abaixo?"
35+
0 + "5"
36+
37+
#Verificar os tipos de variáveis é muito importante para garantir que você está resgatando os resultados que quer obter quando
38+
#estiver programando.
39+

aula08-exercicio.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
4+
#QUESTION 1 OF 3
5+
'''
6+
O que acontece quando você usa um método de string, como islower, em um objeto float?
7+
Por exemplo, 13.37.islower
8+
No quiz que está mais abaixo desta página, há um playground que você pode usar para experimentação.
9+
'''
10+
# Ocorre um erro.
11+
12+
'''
13+
Você pode aprender mais sobre strings e métodos de string na documentação dos métodos de string.
14+
Você descobrirá que a documentação é um dos recursos mais valiosos para escrever códigos, não somente quando se trata de strings ou de escrever códigos em Python! Lendo e pesquisando a documentação, você pode aprender sobre tipos de dados e funções internas, bem como a forma de utilizá-los.
15+
Experimente agora! Procure alguns métodos de string (usando o link acima) e teste-os no quiz de programação abaixo (usando o botão de execução de teste).
16+
'''
17+
#Sugestões:
18+
# navegue na lista completa de métodos de string em:
19+
# https://docs.python.org/3/library/stdtypes.html#string-methods
20+
# e teste alguns aqui
21+
print(str.capitalize("rafael MELO sAnToS"))
22+
print(str.isnumeric("1234"))
23+
print(str.isnumeric("Rafael"))
24+
25+
'''
26+
Utilizando o espaço abaixo, pratique o uso do método format(). A intenção aqui é praticar,
27+
não há certo ou errado para esse exercício.
28+
'''
29+
# Escreva duas linhas de codigo abaixo, cada uma associando um valor a uma variavel
30+
animal = "dog"
31+
action = "come"
32+
33+
# Agora escreva um print utilizando .format() para retornar uma sentenca e
34+
# os valores das duas variaveis
35+
print("Meu {} {} ração".format(animal, action))
36+

aula08-metodos-string.py

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
4+
#Métodos de string
5+
#Neste vídeo ,você foi introduzido aos métodos. Métodos são como algumas funções que já vimos:
6+
7+
len("this")
8+
type(12)
9+
print("Hello world")
10+
'''
11+
As três expressões acima são funções. Observe que usam parênteses e aceitam um argumento.
12+
13+
As funções type e print podem receber strings, floats, ints e muitos outros tipos de dados como argumentos e a função len
14+
também pode aceitar diferentes tipos de dados como argumentos, que você verá mais adiante nesta aula.
15+
16+
Um método em Python é semelhante a uma função, mas atua em uma variável que você já criou. Métodos são específicos
17+
para o tipo de dado que é armazenado em uma variável particular.
18+
19+
Abaixo está uma imagem que mostra os métodos que são possíveis para qualquer string.
20+
'''
21+
22+
#Cada um desses métodos aceita a string em si como seu primeiro argumento. No entanto, eles também podem receber argumentos
23+
# adicionais. Vamos olhar a saída para alguns exemplos.
24+
my_string.islower()
25+
#True
26+
my_string.count('a')
27+
#2
28+
my_string.find('a')
29+
#3
30+
'''
31+
Você pode ver que ambos os métodos count e find podem aceitar outro argumento. No entanto, o método islower não aceita um
32+
argumento. Se fôssemos armazenar um float, int ou outro tipo de dado em uma variável, os métodos disponíveis seriam completamente
33+
diferentes!
34+
35+
Nenhum profissional decora todos os métodos, por isso é tão importante entender como usar a documentação e encontrar respostas.
36+
Obter uma forte compreensão dos fundamentos de programação permitirá que você use essas bases para utilizar a documentação
37+
para construir muito mais do que alguém que tenta memorizar todas as funções disponíveis no Python.
38+
39+
Um método string importante: format()
40+
Utilizaremos bastante o método de string format() em nosso futuro trabalho no Python, e você descobrirá que esse método é
41+
muito valioso durante a programação, especialmente com as declarações print.
42+
'''
43+
#Podemos melhor ilustrar como utilizar o format() ao observar alguns exemplos:
44+
45+
# Examplo 1
46+
print("Mohammed has {} balloons".format(27))
47+
Mohammed has 27 balloons
48+
# Examplo 2
49+
animal = "dog"
50+
action = "bite"
51+
print("Does your {} {}?".format(animal, action))
52+
Does your dog bite?
53+
# Examplo 3
54+
maria_string = "Maria loves {} and {}"
55+
print(maria_string.format("math","statistics"))
56+
Maria loves math and statistics
57+
58+
#Em cada exemplo, observe como o número de chaves {} utilizado dentro da string é o mesmo número de substituições que se deseja
59+
##fazer usando os valores dentro de format().
60+
61+
#Os alunos com conhecimentos mais avançados podem aprender mais sobre a sintaxe formal para utilização do método de string
62+
#format() aqui.
63+
64+
# https://docs.python.org/3.6/library/string.html#format-string-syntax
65+
# https://docs.python.org/3/library/stdtypes.html#string-methods
66+
animal = "dog"
67+
action = "come"
68+
print(str.capitalize("rafael MELO sAnToS"))
69+
print(str.isnumeric("1234"))
70+
print(str.isnumeric("Rafael"))
71+
72+
print("Meu {} {} ração".format(animal, action))
73+
74+
#Outro importante método de string: split()
75+
'''
76+
Um método de string útil ao trabalhar com strings é o método .split. Esta função ou método retorna um contêiner de dados,
77+
denominado como uma lista que contém as palavras da string de entrada. Apresentaremos o conceito de listas no próximo vídeo.
78+
79+
O método split tem dois argumentos adicionais (sep e maxsplit). O argumento sep significa "separador". Ele pode ser usado
80+
para identificar como a string deve ser dividida (por exemplo, caracteres de espaço em branco como espaço, tabulação, enter,
81+
nova linha; pontuação específica, por exemplo, vírgula, traços). Se o argumento sep não for definido, por padrão, o separador
82+
será o espaço em branco.
83+
84+
Conforme o seu nome, o argumento maxsplit fornece o número máximo de divisões. O argumento maxsplit + 1 fornece o número de
85+
elementos na nova lista, com a string restante sendo retornada como o último elemento na lista. Você também pode saber mais
86+
sobre esses métodos na documentação do Python.
87+
'''
88+
#Aqui estão alguns exemplos do método .split() .
89+
#01 - Um método básico da função split:
90+
new_str = "The cow jumped over the moon."
91+
new_str.split()
92+
#O resultado é:
93+
#['The', 'cow', 'jumped', 'over', 'the', 'moon.']
94+
95+
#02 - Abaixo, o separador é o espaço, e o argumento maxsplit é definido como 3.
96+
new_str.split(' ', 3)
97+
#O resultado é:
98+
#['The', 'cow', 'jumped', 'over the moon.']
99+
100+
#02 - Usando '.' ou ponto como um separador.
101+
new_str.split('.')
102+
#O resultado é:
103+
#['The cow jumped over the moon', '']
104+
105+
#03 - Não utilizando separadores, mas tendo um argumento maxsplit de 3.
106+
new_str.split(None, 3)
107+
#O resultado é:
108+
#['The', 'cow', 'jumped', 'over the moon.']

aula09-exercicio.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
4+
#Quiz: Indexação de lista
5+
'''Use a indexação de lista para determinar quantos dias existem em um mês específico com base na variável month, de tipo inteiro,
6+
e armazene esse valor na variável de tipo inteiro num_days. Por exemplo, se month for 8, num_days deve ser definida como 31,
7+
já que o oitavo mês, agosto, possui 31 dia'''
8+
9+
#Lembre-se de considerar que a indexação é baseada no zero!
10+
month = 8
11+
days_in_month = [31,28,31,30,31,30,31,31,30,31,30,31]
12+
13+
# Use a indexação de lista para definir a variável num_days com quantos dias existem em um mês específico
14+
num_days = days_in_month[7]
15+
num_days2 = days_in_month[month - 1]
16+
print(num_days)
17+
print(num_days2)
18+
19+
#Quiz: Cortando listas
20+
'''Selecione as três datas mais recentes desta lista usando a notação de corte de lista. Dica: índices negativos
21+
funcionam para as fatias!'''
22+
eclipse_dates = ['June 21, 2001', 'December 4, 2002', 'November 23, 2003',
23+
'March 29, 2006', 'August 1, 2008', 'July 22, 2009',
24+
'July 11, 2010', 'November 13, 2012', 'March 20, 2015',
25+
'March 9, 2016']
26+
27+
28+
# TODO: Modifique essa linha para que imprima (print) os últimos 3 elementos da lista
29+
30+
print(eclipse_dates[-3:])
31+
32+
#QUESTION 3 OF 3
33+
#Suponha que tenhamos as duas expressões seguintes, sentence1 e sentence2:
34+
sentence1 = "I wish to register a complaint."
35+
sentence2 = ["I", "wish", "to", "register", "a", "complaint", "."]
36+
'''Relacione o código Python abaixo com o valor modificado de sentence1 ou sentence2. Se o código resultar em um erro, faça a
37+
correspondência com “Erro”.'''
38+
#sentence1 é uma string e é, portanto, um objeto imutável. Isso significa que, por mais que você possa se referir a
39+
# caracteres individuais de sentence1 (por exemplo, você pode escrever coisas como sentence1[5]), não pode atribuir
40+
# valor para eles (você não pode escrever coisas como sentence1[5] = 'a'). Portanto, a terceira expressão resultará em erro.
41+
42+
#sentence2 é uma lista, e listas são mutáveis, significando que você pode alterar o valor de itens individuais em sentence2:
43+
44+
#Na primeira expressão, alteramos o valor do último item em sentence2 de "." para "!".
45+
#Na segunda expressão, alteramos o valor do último item em sentence2 de "I" para "Our Majesty".
46+
#Na última expressão, utilizamos cortes para alterar simultaneamente o valor do primeiro e do segundo item em sentence2 de "I"
47+
#e "wish" para "We" e "want"
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#!/usr/bin/python3.6
2+
# -*- coding: utf-8 -*-
3+
4+
#Listas!
5+
'''
6+
Você viu aqui que pode criar uma lista com colchetes. As listas podem conter qualquer mistura e combinação de tipos de dados
7+
que você viu até agora.'''
8+
lst_of_random_things = [1, 3.4, 'a string', True]
9+
10+
'''
11+
Esta é uma lista de 4 elementos. Todos os contentores ordenados (como listas) são indexadas em Python usando um índice inicial
12+
de 0. Portanto, para puxar o primeiro valor da lista acima, podemos escrever:'''
13+
lst_of_random_things[0]
14+
#1
15+
16+
'''E se tentarmos obter o último elemento da lista com o código a seguir?'''
17+
list_of_random_things[len(list_of_random_things)]
18+
# IndexError Traceback (most recent call last) <ipython-input-34-f88b03e5c60e> in <module>() ----> 1 lst[len(lst)] IndexError: list index out of range
19+
20+
'''
21+
Não funcionou pois estamos acessando um elemento que não existe (a posição dos elementos na lista começa pelo 0, enquanto a
22+
contagem realizada pela função len() começa por 1). No entanto, podemos obter o último elemento subtraindo 1 do índice. Então,
23+
podemos fazer o seguinte:'''
24+
list_of_random_things[len(list_of_random_things) - 1]
25+
#True
26+
27+
'''
28+
Alternativamente, você pode indexar a partir do final de uma lista usando valores negativos, onde -1 é o último elemento, -2 é
29+
o penúltimo elemento e assim por diante.'''
30+
31+
list_of_random_things[-1]
32+
#True
33+
34+
list_of_random_things[-2]
35+
#a string
36+
37+
#Cortando em pedaços menores com listas
38+
'''
39+
Você viu que conseguimos puxar mais de um valor por vez de uma lista se a cortarmos em pedaços menores. Ao usar o corte, é
40+
importante lembrar que o índice inferior é inclusivo e o índice superior é exclusivo.
41+
'''
42+
#Portanto:
43+
44+
list_of_random_things = [1, 3.4, 'a string', True]
45+
list_of_random_things[1:2]
46+
#[3.4]
47+
48+
'''Devolve apenas 3,4 de uma lista. Observe que isto ainda é diferente do que indexar apenas um único elemento, pois você obterá
49+
uma lista com essa indexação. Os dois pontos dizem-nos para partir do valor à esquerda até, mas não incluindo, o
50+
elemento à direita.'''
51+
52+
#Se você sabe que você quer começar do início da lista, pode deixar esse valor em branco.
53+
54+
list_of_random_things[:2]
55+
#[1, 3.4]
56+
#ou, para puxar todos os elementos do final da lista, podemos deixar em branco o elemento final.
57+
58+
list_of_random_things[1:]
59+
#[3.4, 'a string', True]
60+
#Esse tipo de indexação funciona exatamente da mesma maneira com strings, onde o valor devolvido será uma string.
61+
62+
#Você está in OU not in?
63+
'''Você viu que nós também podemos usar in e not in para retornar um bool que afirma se um elemento existe ou não dentro de nossa
64+
lista ou se uma string é uma substring de outra.'''
65+
66+
'this' in 'this is a string'
67+
#True
68+
'in' in 'this is a string'
69+
#True
70+
'isa' in 'this is a string'
71+
#False
72+
5 not in [1, 2, 3, 4, 6]
73+
#True
74+
5 in [1, 2, 3, 4, 6]
75+
#False
76+
77+
#Mutabilidade e ordem
78+
'''Mutabilidade indica se podemos ou não alterar um objeto depois que ele foi criado. Se um objeto (como uma lista ou string) pode
79+
ser alterado (tal qual uma lista pode), então dizemos que ele é mutável. No entanto, se um objeto não pode ser alterado com a
80+
criação de um objeto completamente novo (como as strings), então o objeto é considerado imutável.'''
81+
my_lst = [1, 2, 3, 4, 5]
82+
my_lst[0] = 'one'
83+
print(my_lst)
84+
#['one', 2, 3, 4, 5]
85+
86+
#Como mostrado acima, você é capaz de substituir 1 por 'um' na lista acima. Isso ocorre porque listas são mutáveis.
87+
#No entanto, o seguinte não funciona:
88+
greeting = "Hello there"
89+
greeting[0] = 'M'
90+
91+
'''Isso ocorre porque strings são imutáveis Isso significa que, para alterar uma string, você precisará criar uma string completamente
92+
nova.
93+
Há duas coisas a se ter em mente para cada um dos tipos de dados que você está usando:
94+
1. Eles são mutáveis?
95+
2. Eles são ordenados?
96+
Tanto strings quanto listas são ordenadas. No entanto, nas próximas seções, você verá alguns tipos de dados que não serão
97+
ordenados. Para cada uma das próximas estruturas de dados que você verá, é útil entender como você deve indexar, se
98+
são mutáveis e se são ordenados. Saber isso sobre a estrutura de dados é realmente útil!'''
99+
100+
#Além disso, você verá como cada um deles tem métodos diferentes, então, utilizar uma estrutura de dados ou outra é
101+
#largamente dependente dessas propriedades, e o que você pode facilmente fazer com elas!

0 commit comments

Comments
 (0)