Apostila Python Modulo 2
Apostila Python Modulo 2
Apostila Python Modulo 2
Objetivos de aprendizagem:
1. Entender a estrutura dos loops for e while e a diferença entre iteração em relação
ao index versus elemento. Reconhecer os efeitos do break e continue keywords.
2.1: Loops
2.1.1: Loops For/While
O Python tem uma implementação/estrutura do loop FOR que funciona tanto para
o loop for padrão quanto para o loop for-Each de outras linguagens de programação.
Existem algumas diferenças estruturais no loop FOR do Python. Considere-as nos exemplos
abaixo.
In [ ]: """
ele é implementado por padrão, a menos que outro limite inferior seja especificado.
"""
for i in range(10):
print(i)
Saída:
9
In [ ]: """
3. Valor incremental
Neste exemplo, x começa com o valor igual a 2 e para em 9 inclusive, ou seja, 10 exclusive,
"""
print(i)
Saída:
In [ ]: """
"""
print(i)
Saída:
6
9
"""
"""
for i in "viva!":
print(i)
Saída:
In [ ]: """
"""
saída:
0th letter is v
2th letter is v
4th letter is a
6th letter e
8th letter u
10th letter ! (exclamação)
In [ ]: # Nota: sem a atualização da variável no loop while, este será um loop INFINITO!!
count = 0
print(count)
count += 1
# Este programa roda infinitamente, exceto quando o usuário insere "end" para terminá-lo.
while True:
if user=="end":
break
print(user)
Executando:
a
Enter something to be repeated: g
end = False
if user=="end":
print("Program Ended!!!")
end = True
else:
print(user)
Executando:
Program Ended!!!
In [ ]: """
Vamos considerar um loop que conta de 1-20, mas ignora todos os números que são múltiplos
de 5.
Neste caso, NÃO poderíamos usar a palavra-chave "break", porque isso encerrará o loop.
"""
count = 1
if count % 5 == 0:
print("SKIP")
count += 1
continue
print(count)
count += 1
Saída:
SKIP
SKIP
11
12
13
14
SKIP
16
17
18
19
if i % 5 == 0:
print("SKIP")
continue
print(i)
2.2: Funções
Funções são úteis quando lhe é dado um problema que pode ser dividido em várias etapas e
algumas etapas são usadas de forma repetitiva. Então, ter uma função para essas etapas é
conveniente porque reduz a repetição de código e torna o código mais organizado.
1. Definir/inicializar uma nova função com a palavra-chave def antes do nome da função.
In [ ]: """
Como não podemos controlar a ordem dos lados que o usuário nos dá (de tal forma que C é o
comprimento mais longo),
"""
# Reatribuir valores variáveis para garantir que C seja o comprimento mais longo
if (max(a,b,c) != c):
c = max(a,b,c)
if a == c:
a = tmp
elif b == c:
b = tmp
# Aplicar a fórmula
print("Right Triangle")
return True
return False
def main():
# As entradas do usuário são armazenadas como uma string, então nós as computamos para
ser int
main()
Executando:
Right Triangle
In [ ]: """
"""
import string
def isPalindrome(str):
# Como não conseguimos controlar o que o usuário insere na sentença, vamos esclarecer
primeiro a sentença.
exclude = set(string.punctuation)
if str == str[::-1]:
return True
else:
return False
def main():
if (isPalindrome(userSentence)):
else:
if __name__ == "__main__":
main()
Executando:
import string
def isPalindrome(str):
exclude = set(string.punctuation)
if str == str[::-1]:
else:
def main():
print(isPalindrome(userSentence))
if __name__ == "__main__":
main()
In [ ]: """
Exercício: escreva uma função para testar se uma palavra do usuário é um palíndromo.
"""
def isPalindrome(str):
# Solicitar que o usuário digite a sentença
def main():
if (isPalindrome(userInput)):
else:
if __name__ == "__main__":
main()
def isPalindrome(str):
str = str.lower()
if (str == str[::-1]):
return True
else:
return False
def main():
if (isPalindrome(userInput)):
else:
if __name__ == "__main__":
main()
Executando:
racecar is a palindrome!