Buscar

Estruturas de Repetição em Python

Prévia do material em texto

Aula 9 – Estrutura de 
Repetição
Computação I - 2012/2 2
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
O que fazer para fornecer
mais de um número antes
do programa terminar ?
def main():
X= input("Me forneça um inteiro: ")
if X > 0 :
 print "%d é um inteiro positivo" % X
else :
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else :
 print "%d é zero" % X
if __name__ == "__main__":
main()
Computação I - 2012/2 3
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
while expressão :
comandos
def main():
X = raw_input("Me forneça um inteiro: ")
while X != “fim”:
X = int(X)
if X > 0 :
 print "%d é um inteiro positivo" % X
else :
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else :
 print "%d é zero" % X
X = raw_input("Me forneça um inteiro: ")
 
if __name__ == "__main__":
main()
Computação I - 2012/2 4
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
while expressão :
comandos
def main():
X = raw_input("Me forneça um inteiro: ")
while X != “fim”:
X = int(X)
if X > 0 :
 print "%d é um inteiro positivo" % X
else :
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else :
 print "%d é zero" % X
X = raw_input("Me forneça um inteiro: ")
print “Tchau :~)”
if __name__ == "__main__":
main()
Computação I - 2012/2 5
Estrutura de repetição
Faça um programa que determina a soma de todos os 
números pares desde 100 até 200.
Computação I - 2012/2 6
Estrutura de repetição
Faça um programa que determina a soma de todos os 
números pares desde 100 até 200.
def main():
Soma = 0
Par = 100
while Par <= 200 :
 Soma = Soma + Par
 Par = Par + 2
print Soma
if __name__ == "__main__":
main()
Computação I - 2012/2 7
Estrutura de repetição
O programa abaixo apresenta algum problema?
def main():
X = 10
while X > 8 :
 print X
 X = X + 2
if __name__ == "__main__":
main()
Computação I - 2012/2 8
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
O que fazer para fornecer
mais de um número antes
do programa terminar ?
Considere que eu quero
deixar o usuário dar apenas
3 números.
def main():
X = input("Me forneça um inteiro: ")
if X > 0 :
 print "%d é um inteiro positivo" % X
else :
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else :
 print "%d é zero" % X
if __name__ == "__main__":
main()
Computação I - 2012/2 9
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
def main():
Conta = 0
while Conta < 3:
X = input("Me forneça um inteiro: ")
if X > 0 :
 print "%d é um inteiro positivo" % X
else:
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else :
print "%d é zero" % X
Conta = Conta + 1
if __name__ == "__main__":
main() 
Computação I - 2012/2 10
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
def main():
for Conta in range(3) :
 X= input("Me forneça um inteiro: ")
 if X > 0 :
 print "%d é um inteiro positivo" % X
 else:
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else:
 print "%d é zero" % X
if __name__ == "__main__":
main() 
for var in range(...)
Computação I - 2012/2 11
Estrutura de repetição
Permite que o programador especifique que o programa 
deve repetir um conjunto de comandos enquanto uma 
dada condição for verdadeira.
def main():
for Conta in range(3) :
 X= input("Me forneça um inteiro: ")
 if X > 0 :
 print "%d é um inteiro positivo" % X
 else:
 if X < 0 :
 print "%d é um inteiro negativo" % X
 else:
 print "%d é zero" % X
if __name__ == "__main__":
main() 
for var in range(...)
A variável Conta
vai assumir os valores
0,1 e 2
Computação I - 2012/2 12
Estrutura de repetição
A função range(...) pode ter 1, 2 ou 3 argumentos:
✔ range(numero): faz com que a variável do for 
assuma valores de 0 a numero-1
Exemplo: for x in range(10) → x recebe 0,1,2,...,9
✔ range(inf,sup): faz com que a variável do for assuma 
valores de inf a sup-1
Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7
✔ range(inf, sup, inc): faz com que a variável do for 
assuma valores de inf a sup-1 com incremento de inc
Exemplo: for x in range(3,8,2) → x recebe 3,5,7
Computação I - 2012/2 13
Estrutura de repetição
A função range(...) pode ter 1, 2 ou 3 argumentos:
✔ range(numero): faz com que a variável do for 
assuma valores de 0 a numero-1
Exemplo: for x in range(10) → x recebe 0,1,2,...,9
✔ range(inf,sup): faz com que a variável do for assuma 
valores de inf a sup-1
Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7
✔ range(inf, sup, inc): faz com que a variável do for 
assuma valores de inf a sup-1 com incremento de inc
Exemplo: for x in range(3,8,2) → x recebe 3,5,7
ATENÇÃO:
COMEÇA COM ZERO
Computação I - 2012/2 14
Estrutura de repetição
A função range(...) pode ter 1, 2 ou 3 argumentos:
✔ range(numero): faz com que a variável do for 
assuma valores de 0 a numero-1
Exemplo: for x in range(10) → x recebe 0,1,2,...,9
✔ range(inf,sup): faz com que a variável do for assuma 
valores de inf a sup-1
Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7
✔ range(inf, sup, inc): faz com que a variável do for 
assuma valores de inf a sup-1 com incremento de inc
Exemplo: for x in range(3,8,2) → x recebe 3,5,7
São equivalentes:
range( 10 )
range( 0, 10 )
range( 0, 10, 1 )
Computação I - 2012/2 15
Estrutura de repetição
>>> range(3)
>>> range(2,5,2)
>>> range(5,2,-2)
Computação I - 2012/2 16
Estrutura de repetição
>>> range(3)
 [0,1, 2]
>>> range(2,5,2)
 [2,4]
>>> range(5,2,-2)
 [5,3]
Isto são listas.
Computação I - 2012/2 17
Estrutura de repetição
a) Variável de controle de 1 a 100 com incrementos de 1
for counter in range( 1, 101 ):
b) Variável de controle de 100 a 1 com incrementos de –1 
for counter in range( 100, 0, –1 ):
c) Variável de controle de 7 a 77 com incrementos de 7.
d) Variável de controle de 20 a 2 com incrementos de -2.
e) Variável de controle sobre a seguinte sequência de 
valores: 2, 5, 8, 11, 14,17, 20.
f) Variável de controle sobre a seguinte sequência de valores: 
99, 88, 77, 66, 55, 44, 33, 22, 11, 0.
Exercício
Computação I - 2012/2 18
Estrutura de repetição
a) Variável de controle de 1 a 100 com incrementos de 1
for counter in range( 1, 101 ):
b) Variável de controle de 100 a 1 com incrementos –1 
for counter in range( 100, 0, –1 ):
c) Variável de controle de 7 a 77 com incrementos de 7.
for counter in range( 7, 78, 7 ):
d) Variável de controle de 20 a 2 com incrementos de -2.
for counter in range( 20, 1, -2 ):
e) Variável de controle sobre a seguinte sequência de 
valores: 2, 5, 8, 11, 14,17, 20.
for counter in range( 2, 21, 3 ):
f) Variável de controle sobre a seguinte sequência de valores: 
99, 88, 77, 66, 55, 44, 33, 22, 11, 0.
for counter in range( 99, -1, -11 ):
Exercício
Computação I - 2012/2 19
Estrutura de repetição
Faça um programa que determina a soma de todos os 
números pares desde 100 até 200.
ExercícioComputação I - 2012/2 20
Estrutura de repetição
Faça um programa que determina a soma de todos os 
números pares desde 100 até 200.
def main():
Soma = 0
for Par in range(100,202,2) :
 Soma = Soma + Par
print Soma
if __name__ == "__main__":
main() 
Exercício
Computação I - 2012/2 21
Estrutura de repetição
Comandos que permitem alterar o fluxo da estrutura 
de repetição.
Break e Continue
Qual a saída deste programa?Qual a saída deste programa?
def main():
for x in range( 1, 11 ):
if x == 5:
break
print x
print "O bloco de repetição foi interrompido quando x = %d"% x
if __name__ == "__main__":
main() 
Computação I - 2012/2 22
Estrutura de repetição
Comandos que permitem alterar o fluxo da estrutura 
de repetição.
Break e Continue
11
22
33
44
O bloco de repetição foi interrompido quando x = 5O bloco de repetição foi interrompido quando x = 5
def main():
for x in range( 1, 11 ):
if x == 5:
break
print x
print "O bloco de repetição foi interrompido quando x = %d"% x
if __name__ == "__main__":
main() 
Computação I - 2012/2 23
Estrutura de repetição
Comandos que permitem alterar o fluxo da estrutura 
de repetição.
Break e Continue
Qual a saída deste programa?Qual a saída deste programa?
def main():
for x in range( 1, 11 ):
if x == 5:
continue
print x
print "O bloco de repetição foi interrompido quando x = %d"% x
if __name__ == "__main__":
main() 
Computação I - 2012/2 24
Estrutura de repetição
Comandos que permitem alterar o fluxo da estrutura 
de repetição.
Break e Continue
11
22
33
44
66
77
88
99
1010
O bloco de repetição foi interrompido quando x = 10O bloco de repetição foi interrompido quando x = 10
ATENÇÃO
def main():
for x in range( 1, 11 ):
if x == 5:
continue
print x
print "O bloco de repetição foi interrompido quando x = %d"% x
if __name__ == "__main__":
main() 
Computação I - 2012/2 25
Estrutura de repetição
1. Faça uma função que calcule o valor de N!.
2. Faça uma função que calcule os elementos da 
sequência de Fibonacci que são menores que 2000.
3. Faça uma função que calcule a média de N notas 
fornecidas pelo usuário.
4. Altere o programa anterior para que ele calcule a 
média sem que seja fornecido o valor de N.
5. Faça uma função que determina se um dado 
número positivo é primo ou não.
Exercícios – Resolva usando while e for
Computação I - 2012/2 26
Estrutura de repetição
Exercícios – Resolva usando while e for
6. Faça uma função que calcule e escreva o valor de 
S = (1/1)+(3/2)+(5/3)+(7/4)+....+(99/50)
7. Faça uma função que calcule e escreva o valor de 
S = (1/1)-(2/4)+(3/9)-(4/16)+....-(10/100) 
8. Fazer uma função para calcular e escrever o valor 
do número pi com precisão de 0.0001, usando a série:
4-(4/3)+(4/5)-(4/7)+(4/9)-(4/11)+...
Computação I - 2012/2 27
Aula 9 – Estrutura de 
Repetição
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27

Continue navegando