SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
1
	
	
	
	
Algoritmos	e	Programação	em	Python	
	
por	
	
	
Prof. Dr. Paulo Roberto Gomes Luzzardi
	
	
	
	
facebook: Paulo Roberto Gomes Luzzardi
WhatsApp: 99164-8037
e-mail: pluzzardi@gmail.com (principal) e pluzzardi@yahoo.com.br
e-mail (Senac): prgomesluzzardi@senacrs.edu.br
DropBox: https://www.dropbox.com/sh/kea9kr4j2qttnjg/4xXvw0pvxX?m
Hostinger: http://pluzzardi.w.pw e http://pluzzardi.zz.mu (Home Page)
	
	
Versão	1.62	
02-05-2018	
	
	
	
	
Bibliografia	recomendada:	
	
MENEZES,	 Nilo	 Ney	 Coutinho.	 Introdução	 à	 Programação	 com	 Python:	
Algoritmos	e	Lógica	de	Programação	para	Iniciantes.	São	Paulo:	Editora	
Novatec,	2010	(ISBN	978-85-7522-250-8).	
	
	
Pelotas,	quarta-feira,	2	de	maio	de	2018	(09:48	am)
2
Sumário	
	
1.	Linguagem	de	Programação	Python.................................................................... 4
2.	Como	executar	comandos	em	Python.................................................................. 4
3.	Entrar	na	IDLE	do	Python ................................................................................. 4
4.	Primeiros	comandos	ou	instruções.................................................................. 4
5.	Identificadores	e	variáveis............................................................................ 5
6.	Operadores	aritméticos ..................................................................................... 6
6.1	Hierarquia	dos	operadores	(precedência)................................................... 7
7.	Comando	print	(imprimir	dados	na	tela) ...................................................... 7
8.	Comando	input	(ler	dados	do	teclado) .......................................................... 9
9.	Deletar	uma	variável	(del) ............................................................................. 9
10.	Módulos	(import)............................................................................................. 10
11.	Funções	de	matemáticas	(math).................................................................... 11
12.	Strings	(cadeia	de	caracteres).................................................................. 13
12.1	Funções	para	Strings ................................................................................... 13
13.	Comandos:	Sequência,	Seleção	e	Repetição............................................... 15
13.1	Comandos	de	Sequência ................................................................................. 15
13.2	Lista	de	Exercícios	(Comandos	de	sequência)....................................... 17
14.	Operadores	relacionais ................................................................................. 20
15.	Operadores	lógicos......................................................................................... 20
16.	Comando	de	Seleção	(if) ............................................................................... 20
16.1	Lista	de	Exercícios	(Comando	de	Seleção	if)....................................... 23
17.	Contador	e	acumulador ................................................................................... 24
18.	Comandos	de	Repetição	(while	e	for) ........................................................ 25
18.1	range	(faixa)................................................................................................. 27
18.2	Lista	de	Exercícios	(Comando	de	Repetição	while	e	for).................. 28
19.	Listas	em	Python	(vetores).......................................................................... 29
19.1	Lista	de	Exercícios	de	Vetores	(listas)............................................... 35
20.	Questões	de	prova........................................................................................... 38
21.	Curiosidades	e	testes	no	Python................................................................ 43
22.	Funções	escritas	pelo	programador	em	Python......................................... 45
22.1	Exercícios	sobre	funções	em	Python ........................................................ 52
23.	Criação	e	utilização	de	módulos	em	Python............................................. 55
24.	Tratamento	de	erros	(exceções).................................................................. 58
25.	Banco	de	Dados	em	Python	(SQLite)............................................................ 62
26.	Sistema	de	Arquivos	em	Python.................................................................... 67
29.	Arquivos	Binários	em	Python........................................................................ 72
30.	Sockets	em	Python........................................................................................... 78
31.	Threads	em	Python........................................................................................... 83
32.	Módulo	tkinter	para	GUI	em	Python............................................................ 83
3
Lista de Exercícios do Prof. Dr. Ricardo Andrade Cava
	
DropBox:	
	
https://www.dropbox.com/sh/kea9kr4j2qttnjg/AAAGkXES6sWvRKCJh8R7x9aia/ListaCava?dl=0
1.	Linguagem	de	Programação	Python	
	
	 Python	é	uma	linguagem	de	programação	interpretada	(onde	cada	linha	
é	compilada	e	executada,	uma	por	vez),	ou	seja,	não	é	compilada	(onde	
todo	o	programa	é	traduzido	para	linguagem	de	máquina	e	posteriormente	
executado).	Em	Python,	cada	comando	tem	sua	sintaxe	verificada,	sendo	
executado	a	seguir.		
	 Python	é	uma	linguagem	de	alto	nível	e	um	software	livre,	ou	seja,	
não	 se	 paga	 por	 sua	 utilização.	 É	 utilizado	 em	 muitas	 aplicações,	
inclusive	em	Redes	de	Computadores	para	criação	de	scripts	utilizados	
em	servidores	e	outras	aplicações	da	área,	além	de	ser	uma	linguagem	de	
uso	geral.	
2.	Como	executar	comandos	em	Python	
Windows:	Iniciar	...	Programas	...	Python	3.?	(versão)	
	
Linux:	$	python3.?	(versão	–	digite	TAB	para	descobrir)	
	
MacOsX:	$	python3.?	(TAB	para	descobrir	as	versões	instaladas)	
	
3.	Entrar	na	IDLE	do	Python	
	 IDLE	é	a	Interface	Gráfica	da	Linguagem	de	Programação	Python	que	
permite	a	edição	e	execução	dos	programas	escritos	em	Python.	
	
Windows:	Iniciar	...	Programas	...	Python	3.?	(versão)	...	IDLE	
	
Linux:	$	idle-python3.6	&	<enter>	
	
MacOsX:	$	idle3.6	<enter>	
	
Observação:	Todo	programa	fonte	em	Python	possui	a	extensão	“.py”.		
	
Instalação	e	download	do	Python:	http://www.python.org	
4.	Primeiros	comandos	ou	instruções	
	 Python	permite	executar	comandos	ou	instruções,	tais	como:	
	
Imprimir	na	tela:		 >>>	print(“Hello”)	<enter>	
	 	 	 	 Hello	
	
Realizar	operações	matemáticas:		 >>>	3	+	4	<enter>	
	 	 	 	 	 	 	 7	
	 	 	 	 	 	 	 >>>	2	**	3	<enter>
5
	 	 	 	 	 	 	 8	
	 	 	 	 	 	 	 >>>	
	
Operações	mais	complexas:		 >>>	a	=	3	<enter>	
	 	 	 	 	 	 >>>	b	=	4	<enter>	
	 	 	 	 	 	 >>>	c	=	a	+	b	<enter>	
	 	 	 	 	 	 >>>	print(a,	b,	c)	<enter>	
	 	 	 	 	 	 3	4	7	
	 	 	 	 	 	 >>>	print(“c	=	“,	c)	<enter>	
	 	 	 	 	 	 c	=	7	
	 	 	 	 	 	 >>>	print(3>4)	<enter>	
	 	 	 	 	 	 False	 	 #	valor	lógico	
	 	 	 	 	 	 >>>	
5.	Identificadores	e	variáveis	
	
	 Identificadores	são	os	nomes	criados	pelo	programador	para	fazer	
referência	a	variáveis,	constantes,	funções	e	módulos.	
	
Regras	para	a	criação	de	identificadores:	
	
ü O	primeiro	caracter	deve	ser	uma	letra	ou	sublinha	(_);	
ü Os	caracteres	seguintes	devem	ser	letras,	números	ou	sublinhas;	
ü Não	há	limite	de	caracteres;	
ü Não	é	permitido	a	utilização	de	caracteres	em	branco	(caracter	espaço);	
ü Podem	ser	letras	maiúsculas	e	minúsculas,	pois	são	diferenciados.	
	
Comentário	do	programador:		
	
#	não	é	interpretado	-	comentário	de	uma	linha	
	
”””	
comentário	em	mais	de	uma	linha	
Não	é	interpretado	
”””	
	
’’’	
comentário	em	mais	de	uma	linha	
Não	é	interpretado	
’’’	
	
	 Variáveis	em	Python	existem	em	três	tipos:	int,	float	e	string.	
Na	declaração	de	cada	variável,	Python	especifica	o	tipo,	por	exemplo:	
a	 =	 3,	 a	 é	 declarado	 como	 int,	 b	 =	 3.4	 é	 declarado	 como	 float,	 s	 =	
“Python”	ou	s	=	‘Python’	são	string’s.	
	
Função	type:	Exibe	o	Tipo	do	Dado.
6
	
#	--------------------------	Type.py	
	
a	=	3	
print(type(a))	
b	=	3.4	
print(type(b))	
c	=	'Python'	
print(type(c))	
d	=	'A'	
print(type(d))	
	
Teste	do	Programa:	
	
=========	RESTART:	/Users/pluzzardi/Documents/Type.py	=========	
<class	'int'>	
<class	'float'>	
<class	'str'>	
<class	'str'>	
>>>	
	
Comando	 id:	 Retorna	 o	 identificador	 do	 objeto,	 número	 inteiro	 que	
identifica	cada	objeto	do	Python.	
	
>>>	a	=	3	
>>>	b	=	4	
>>>	print(id(a))	 #	32	bits	/	8	bits	=	4	bytes	(inteiro)	
4297624000	
>>>	print(id(b))	
4297624032	
>>>	
6.	Operadores	aritméticos	
	
	 Os	operadores	aritméticos	permitem	ao	programador	realizar	várias	
operações	 matemáticas,	 tais	 como:	 adição,	 subtração,	 divisão,	
multiplicação	e	potenciação.	A	seguir,	a	Tabela	1	exibe	os	operadores	
aritméticos	utilizados	em	Python.	
	
	
Tabela	1:	Operadores	Aritméticos	
Matemática	 Operador	aritmético	
Adição	 +	
Subtração	 -	
Multiplicação	 *	
Divisão	 /	
Potenciação	 **
7
6.1	Hierarquia	dos	operadores	(precedência)	
	 A	Tabela	2,	a	seguir,	exibe	a	precedência	dos	operadores	do	Python,	
ou	seja,	a	ordem	de	execução	das	operações	matemáticas.	
	
	
	
Tabela	2:	Hierarquia	dos	Operadores	Aritméticos	
Ordem	de	
precedência	
Tipo	de	Operador	
Parênteses	 ()	
**	 Potenciação	
-	(unário)	 Unário	
*	/	%	//	
Multiplicação,	divisão,	modulo	(resto	inteiro	da	divisão)	
e	divisão	inteira	
+	-	 Adição	e	subtração	
	
Exemplos:	
>>>	7	/	2	 #	divisão	real	
3.5	
>>>	7	%	2	 #	resto	inteiro	da	divisão	(módulo)	
1	
>>>	7	//	2	 #	divisão	inteira	
3	
>>>	
7.	Comando	print	(imprimir	dados	na	tela)	
	
	 O	 comando	 print	 permite	 enviar	 (imprimir)	 para	 a	 tela	 qualquer	
informação	do	python,	como	números,	constantes,	resultados	de	operações,	
strings,	etc.	
	
Sintaxe	simples:	print(string,	lista_de_variáveis)	
	
Exemplos:	
	
>>>	print(4)	<enter>	
4	
>>>	print(3+4)	<enter>	
7	
>>>	print(3>4)	enter>	
False	 	 	 	 #	tipo	lógico	(True	ou	False)	
>>>	a	=	3	<enter>	
>>>	print(a)	<enter>	
3	
>>>	b	=	4	<enter>
8
>>>	print(a+b)	<enter)	
7	
>>>	A	=	7	<enter>	
>>>	print(A+b)	<enter>	
11	
>>>	print(“a	=	”,	a)	<enter>	
a	=	3	
>>>	
>>>	print(4%2)	#	resto	inteiro	da	divisão	
0	
>>>		
>>>	print(3**4)	 #	Potenciação	
81	
>>>	número_dentes	=	32	<enter>	
>>>	print(“Número	de	Dentes:	“,	número_dentes)	<enter>	
>>>	Número	de	Dentes	=	32	
>>>	a	=	3	
>>>	b	=	4	
>>>	print("a	=	",	a,	"b	=	",	b)	
a	=	3	b	=	4	
>>>	dia	=	3	<enter>	
>>>	mês	=	7	<enter>	
>>>	ano	=	2017	<enter>	
>>>	print(“Data:	%02d/%02d/%d”	%(dia,	mês,	ano))	<enter>	
03/07/2017	 #	saída	formatada	
>>>	
	
Tabela	3:	Operadores	%	
Operador	%	 Significado	
%s	 Uma	string	
%c	 Caractere	
%d	 Decimal	inteiro	
%f	 Real	(float)	
%%	 Um	'%'	
	 	
	 Note	que	o	Python	permite	formatar	os	dados	que	serão	exibidos	na	
tela	através	do	print,	para	tanto	usa	os	operadores	da	Tabela	3,	acima.	
Repare	novamente	nos	exemplos	abaixo:	
	
>>>	dia	=	3	<enter>	
>>>	mês	=	7	<enter>	
>>>	ano	=	2017	<enter>	
>>>	print(“Data:	%02d/%02d/%d”	%(dia,	mês,	ano))	<enter>	
03/07/2017	
>>>	
	
#	==================================	data	e	hora	
	
from	datetime	import	datetime
9
data	=	datetime.now()	
print(data)	
print("Data:	%02d/%02d/%d"	%(data.day,	data.month,	data.year))	
print("Tempo:	%02d:%02d:%02d"	%(data.hour,	data.minute,	data.second))	
	
8.	Comando	input	(ler	dados	do	teclado)	
	
	 O	 comando	 input	 permite	 ler	 informações	 via	 teclado,	 o	 valor	
digitado	pelo	usuário	é	lido	como	uma	string,	podendo	ser	convertido	
para	inteiro	(int)	ou	real	(float).	
	
Sintaxe:	string	input(string	mensagem)	
	
Exemplos:	
	
Entrada	de	uma	String:	
	
>>>	s	=	input(“Digite	um	Nome:	“)	<enter>	
>>>	Digite	um	Nome:	Luzzardi	<enter>	
>>>	print(len(s))	 #	número	de	caracteres	da	string	
8	
>>>	
	
Entrada	de	um	Inteiro:	
	
>>>	i	=	int(input(“Digite	um	Valor:	“))	<enter>	
>>>	Digite	um	Nome:	34	<enter>	
>>>	print(i)	
34	
>>>	
	
Entrada	de	um	Real	(float):	
	
>>>	i	=	float(input(“Digite	um	Valor:	“))	<enter>	
>>>	Digite	um	Nome:	34	<enter>	
>>>	print(i)	
34.0	
>>>	
	
Outra	forma,	em	duas	etapas:	
	
>>>	s	=	input("Digite	um	Valor:	")	<enter>	
Digite	um	Valor:	34	<enter>	
>>>	x	=	int(s)	<enter>	 #	conversão	para	inteiro	
>>>	print(x)	<enter>	
34	
>>>	
9.	Deletar	uma	variável	(del)
10
	 Em	Python	é	possível	deletar	(apagar,	remover,	desalocar	da	memória	
RAM)	uma	variável	da	memória,	isto	é	feito	através	do	comando	del.	
	
Sintaxe:	>>>	del	variável	
	
Exemplo:	
	
>>>	a	=	3	<enter>	
>>>	print(a)	<enter>	
3	
>>>	del	a	
>>>	print(a)	
Traceback	(most	recent	call	last):	
		File	"<stdin>",	line	1,	in	<module>	
NameError:	name	'a'	is	not	defined	
	
Erro:	identificador	‘a’	não	definido	
	
Observação:	É	possível	também	reinicializar	o	terminal	(shell),	vá	na	
opção	 Shell	 ..	 Restart	 Shell,	 todas	 as	 variáveis	 são	 destruídas,	 ou	
seja,	desalocadas	da	memória	RAM	(Random	Acess	Memory).	
	
10.	Módulos	(import)	
	
	 Python	possui	um	conjunto	de	funções	pré-definidas	agrupadas	em	
estruturas	 chamadas	 de	 módulos,	 tais	 como:	 math	 (mathematics),	 os	
(sistema	operacional),	datetime	(data	e	hora),	etc.	
	
Forma	de	importar:	import	módulo	
	
Para	utilizar	a	função	de	um	módulo:	módulo.função(argumento)	
			
Para	importar	apenas	uma	função	desejada:	from	módulo	import	função	
	
Exemplos:		 >>>	import	math	<enter>	
	 	 >>>	print(math.pi)	<enter>	
3.141592653589793	
	 	 >>>	import	os	<enter>	
	 	 >>>	os.system(“clear”)	<enter>	
	 	 >>>	from	math	import	sqrt	<enter>	
	 	 >>>	print(math.sqrt(16))	
	 	 16	
	 	 >>>
	
Ajuda	(help)	dos	módulos:	
	
>>>	import	math	<enter>
11
>>>	help(math)	<enter>	 #	exibe	funções	do	módulo	math		
	 	 	 	 #	idêntico	ao	Linux	
	
11.	Funções	de	matemáticas	(math)	
	
	 Python	 possui	 diversas	 funções	 matemáticas	 oriundas	 do	 módulo	
“math”.	São	elas:	
	
math.factorial(x):	Retorna	o	valor	fatorial	de	x,	onde	x	deve	ser	sempre	
positivo.	
	
>>>	fat	=	math.factorial(5)	 #	5x4x3x2x1	=	120	
>>>	print(fat)	
120	
>>>		
	
math.modf(x):	Retorna	o	valor	inteiro	e	o	valor	fracionário	da	variável	
x.	
	
	
>>>	print(math.modf(5.34))	
(0.33999999999999986,	5.0)	
>>>		
	
math.exp(x):	Retorna	o	exponencial	de	x,	ou	seja,	ex
.	
	
>>>	print(math.exp(1))	
2.718281828459045	
>>>	print(math.exp(2))	
7.38905609893065	
>>>	print(math.exp(3))	
20.085536923187668	
>>>		
	
math.log(x,	base):	Retorna	o	log	de	x	na	base	pedida.	
	
	
>>>	print(math.log(2,10))	
0.30102999566398114	
>>>	print(math.log(3,10))	
0.47712125471966244	
>>>	
	
math.log1p(x):	Retorna	o	logaritmo	natural	de	x.	
	
	
>>>	print(math.log1p(1))	
0.6931471805599453	
>>>	print(math.log1p(2))	
1.0986122886681098	
>>>
12
	
math.sqrt(x):	Retorna	a	raiz	quadrada	de	x.	
	
	
>>>	x	=	16	
>>>	print(math.sqrt(x))	
4.0	
>>>	x	=	-16	 	 #	x	deve	ser	positivo	
>>>	print(math.sqrt(x))	
Traceback	(most	recent	call	last):	
		File	"<stdin>",	line	1,	in	<module>	
ValueError:	math	domain	error	
>>>	
	
math.degrees(x):	Converte	o	ângulo	x	de	radianos	para	graus.	
	
	
	 	 pi	radianos	à	180	graus	
	 	 	
math.radians(x):	Converte	o	ângulo	x	de	graus	para	radianos.	
	
math.sin(x):	Retorna	o	seno	de	x,	onde	x	deve	estar	em	radianos.	
	
>>>	x	=	math.sin(45)	
>>>	print(x)	
0.8509035245341184	
>>>	x	=	math.sin(math.radians(45))	
>>>	print(x)	
0.7071067811865475	
>>>		
	
math.cos(x):	Retorna	o	cosseno	de	x,	onde	x	deve	estar	em	radianos.	
	
>>>	x	=	math.cos(45)	
>>>	print(x)	
0.5253219888177297	
>>>	x	=	math.cos(math.radians(45))	 #	converte	45	para	radianos	
>>>	print(x)	
0.7071067811865476	
	
math(tan(x):	Retorna	a	tangente	de	x,	onde	x	deve	estar	em	radianos.	
	
>>>	tangente	=	math.tan(math.radians(45))	
>>>	print(tangente)	
0.9999999999999999	
>>>		
	
math.hypot(x,	y):	Retorna	a	hipotenusa	do	triângulo	retângulo,	onde	x	e	
y	são	os	catetos	oposto	e	adjacente.	
	
>>>	hipotenusa	=	math.hypot(3	,4)
13
>>>	print(hipotenusa)	
5.0	
>>>		
	
12.	Strings	(cadeia	de	caracteres)	
String	é	uma	sequência	de	caracteres,	letras,	números	e	caracteres	
especiais,	que	permite	trabalhar	com	textos.	
	
>>>	s	=	"Python"	<enter>	
>>>	print(s)	<enter>	
Python	
>>>	print("Número	de	caracteres	da	string:	%d"	%(len(s)))	<enter>	
6	
>>>	
	
ou	
	
>>>	s	=	‘Python’	<enter>	 #	pode	ser	utilizado	aspas	simples	
>>>	l	=	len(s)	<enter>	 	 #	retorna	o	número	de	caracteres	
>>>	print("Número	de	caracteres	da	String:	%d"	%l)	
<enter>	
6	
>>>	
	 outra	forma	de	inicialização:	
	
>>>	s	=	'P'	'y'	't'	'h'	'o'	'n'	<enter)	
>>>	print(s)	<enter>	
Python	
>>>	
	
Vetor	de	Strings:	(será	visto	em	outro	capítulo)	
	
>>>	s	=	('Paulo',	'Roberto',	'Gomes',	'Luzzardi')	<enter>	
>>>	print(s[0])	<enter>	
Paulo	
>>>	print(s[3])	<enter>	
Luzzardi	
>>>		
	
12.1	Funções	para	Strings	
	
#	-------------------------------------------	Split.py	
	
s	=	"Paulo	Roberto	Gomes	Luzzardi"	
print("Número	de	letras:	",	len(s))	
partes	=	s.split('	')	
n	=	len(partes)	
print("Número	de	nomes:	",	n)
14
for	i	in	range(n):	
				print(partes[i])	
print(partes)	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Desktop/Python/Python/Split.py	====	
Número	de	letras:		28	
Número	de	nomes:		4	
Paulo	
Roberto	
Gomes	
Luzzardi	
['Paulo',	'Roberto',	'Gomes',	'Luzzardi']	
>>>	
	
Exemplo	de	funções	de	Strings:	
	
#	--------------------------------	String.py	
	
#	--------------------------------------------	len	
s	=	'Paulo	Roberto	Gomes	Luzzardi'	
n	=	len(s)		#	retorna	o	total	de	caracteres	da	string	
print("Número	de	Caracteres:	",	n)	
	
#	--------------------------------------------	count	
caracter	=	'a'	
letras	=	s.count(caracter)		#	retorna	o	número	de	vezes	que	o	caracter	aparece	na	
string	
print('Número	de	letras	"%c"	é	%d'	%(caracter,letras))	
	
#	--------------------------------------------	replace	
s	=	s.replace('Roberto',	'R.')		#	troca	parte	da	string	
s	=	s.replace("Gomes",	"G.")	
print(s)	
	
#	--------------------------------------------	find	
pos	=	s.find('z')			#	procura	a	primeira	aparição	de	uma	letra	
print(pos)	
	
#	--------------------------------------------	upper	e	lower	
print("STRING:	",	s.upper())				#	exibe	como	maiúscula	
print(s)	
print("string:	",	s.lower())				#	exibe	como	minúscula	
print(s)	
	
#	--------------------------------------------	title	
s	=	"paulo	roberto	gomes	luzzardi"	
print(s.title())	
	
#	--------------------------------------------	swapcase	
s	=	'Paulo	Roberto	Gomes	Luzzardi'	
print(s.swapcase())	#	inverte	as	letras	maiúsculas	e	minúsculas
15
	
#	--------------------------------------------	isalpha	
print('Contém	apenas	letras:	 ',	s.isalpha())				#	verifica	se	contém	apenas	letras	
s	=	'FatecSenac'	
print('Contém	apenas	letras:	 ',	s.isalpha())	
	
#	---------------------------------------------	isdigit	
print('Contém	apenas	números:	',	s.isdigit())	
s	=	'123456'	
print('Contém	apenas	números:	',	s.isdigit())	
	
Teste	do	Programa:	
	
===========	RESTART:	/Users/pluzzardi/Documents/String.py	==========	
Número	de	Caracteres:		28	
Número	de	letras	"a"	é	2	
Paulo	R.	G.	Luzzardi	
14	
STRING:		PAULO	R.	G.	LUZZARDI	
Paulo	R.	G.	Luzzardi	
string:		paulo	r.	g.	luzzardi	
Paulo	R.	G.	Luzzardi	
Paulo	Roberto	Gomes	Luzzardi	
pAULO	rOBERTO	gOMES	lUZZARDI	
Contém	apenas	letras:	 	False	
Contém	apenas	letras:	 	True	
Contém	apenas	números:		False	
Contém	apenas	números:		True	
>>>	
	13.	Comandos:	Sequência,	Seleção	e	Repetição	
Python	possui	três	tipos	principais	de	comandos,	sequência,	onde	
todos	são	executados,	seleção,	onde	alguns	são	e	outros	não	são	
executados	e	repetição,	comandos	são	executados	diversas	vezes.	
13.1	Comandos	de	Sequência	
Comandos	de	Sequência:	
	
	 Todos	os	comandos	(ou	instruções)	em	sequência	são	sempre	
executados	no	fluxo	do	programa.	
	
#	---------------------	Circulo.py	
	
import	math	
	
diametro	=	float(input("Digite	o	valor	do	Diâmetro:	"))	
raio	=	diametro	/	2	
area	=	math.pi	*	raio	**	2
16
print("Área	do	Círculo	é:	",	area)	
	
Teste	do	Programa:	
	
Digite	o	valor	do	Diâmetro:	6	<enter>	
Área	do	Círculo	é:	28.274334	
>>>	
	
#	-----------------------------------	Temperatura.py	
	
f	=	120	
c	=	(f	-	32)	*	5	/	9	
print("Celsius:	%d"	%c,	sep='',	end='')	 #	imprime	mesma	linha	
print("	-	Fahrenheit:	",	f)	
	
Teste	do	Programa:	
	
==	RESTART:	/Users/pluzzardi/Desktop/Python/Python/Temperatura.py	==	
Celsius:	48	-	Fahrenheit:		120	 		
>>>	
	
#	----------------------------------	Random.py	
	
import	random	
	
n	=	10	
print("Faixa	de	Sorteio:	0	...	%d"	%(n-1))	
numero	=	int	(random.random()	*	n)	
print("Número	Sorteado:	",	numero)	
#	A	função	random	gera	um	número	float	aleatório	entre	0.0	e	1.0	
	
Teste	do	Programa:	
	
==========	RESTART:	/Users/pluzzardi/Documents/Random.py	=======	
Faixa	de	Sorteio:	0	...	9	
Número	Sorteado:	8	
>>>		
	
#	-----------------------------	Aleatorio.py	
	
import	random	
	
for	i	in	range(6):	
				n	=	random.randint(1,	10)	
				print("n	=	",	n)	
	
Teste	do	Programa:	
	
=======	RESTART:	/Users/pluzzardi/Documents/Aleatorio.py	=======	
n	=		2	
n	=		9	
n	=		7
17
n	=		6	
n	=		5	
n	=		7	
>>>	
13.2	Lista	de	Exercícios	(Comandos	de	sequência)	
a) Escreva	um	programa	em	Python	que	recebe	dois	valores	via	teclado:	
cateto	 adjacente	 (b)	 e	 cateto	 oposto	 (a)	 e	 calcula	 o	 valor	 da	
hipotenusa	dado	pela	seguinte	fórmula:		
	
	
Teste	do	Programa:		
	
Cateto	Adjacente	(b):	3	<enter>		
Cateto	Oposto	(a):	4	<enter>		
Hipotenusa:	5.0		
	
b) Escreva	um	programa	em	Python	que	lê	4	notas	via	teclado:	n1,	n2,	
n3	 e	 n4	 obtidas	 por	 um	 aluno	 em	 4	 avaliações.	 Calcule	 a	 média	
utilizando	a	seguinte	fórmula:		
n1	+	n2	x	2	+	n3	x	3	+	n4	
Média	=	---------------------------	
7
	
c) Escreva	um	programa	em	Python	que	recebe	via	teclado:	comprimento	
da	circunferência.	O	programa	deve	calcular	e	imprimir	na	tela	o	
diâmetro	e	o	raio	da	circunferência	(veja	exemplo	abaixo):		
	
Teste	do	Programa:		
	
Comprimento	da	circunferência:	36	<enter>		
Diâmetro:	11.46
	
Raio:	5.73	
	
comprimento	da	circunferência	=	2	.	Pi	.	raio
18
diâmetro	=	2	.	raio	
	
d) Desenvolva	um	programa	em	Python	que	recebe	via	teclado:	peso	da	
carne	que	será	vendida	e	preço	por	quilo.	O	programa	deve	calcular	
e	imprimir	na	tela	o	total	a	pagar,	o	valor	pago	ao	ICMS	(17%)	e	
o	lucro	líquido	do	açougue.	
	
	
	
Teste	do	Programa	(1):		
	
	
Peso:	3.5	<enter>
	
Preço	por	Kg	(R$):	4.90	<enter>		
Total	a	pagar:	17.15
	
ICMS	(17%):	2.91
	
Lucro	líquido	do	açougue	(R$):	14.24		
	
Teste	do	Programa	(2):		
	
Peso:	1.5	<enter>
	
Preço	por	Kg	(R$):	9.00	<enter>		
Total	a	pagar:	13.5
	
ICMS	(17%):	2.29
	
Lucro	líquido	do	açougue	(R$):	11.21	
	
e) Escreva	um	programa	em	Python	que	recebe	via	teclado:	a	data	de	
hoje	da	seguinte	forma:	dia,	mês,	ano	e	a	sua	idade,	da	seguinte	
forma:	anos,	meses	e	dias	vividos.	Calcule	e	imprima	a	data	de	
nascimento	no	seguinte	formato:	dd/mm/aaaa.		
	
Teste	do	Programa:		
	
Qual	a	data	de	hoje:
	
Dia:	16	<enter>
	
Mês:	3	<enter>
	
Ano:	2017	<enter>
	
Qual	a	sua	idade:
	
Anos:	55	<enter>
	
Meses:	1	<enter>
	
Dias:	6	<enter>
	
Data	de	Nascimento:	10/02/1962		
	
f) Escreva	 um	 programa	 em	 Python	 que	 recebe	 via	 teclado:	 salário	
mensal	e	percentual	de	reajuste.	Calcular	e	escrever	o	valor	do	
novo	salário.
19
Teste	do	Programa:		
	
Salário:	500	<enter>
	
Percentual	de	reajuste:	15	<enter>
	
Novo	salário:	575		
	
g) Escreva	um	programa	em	Python	que	lê	via	teclado	as	dimensões	de	
uma	cozinha	retangular	(comprimento,	largura	e	altura),	calcular	
e	escrever	a	quantidade	de	caixas	de	azulejos	para	se	colocar	em	
todas	as	suas	paredes	(considere	que	não	será	descontado	a	área	
ocupada	por	portas	e	janelas).	Cada	caixa	de	azulejos	possui	1,5	
m2.		
Teste	do	Programa:		
	
Comprimento:	4.5	<enter>
	
Largura:	3	<enter>	
Altura:	2.8	<enter>

	
Quantidade	de	caixas:	28		
	
h) A	 turma	 C	 é	 composta	 de	 60	 alunos,	 e	 a	 turma	 D	 de	 20	 alunos.	
Escreva	 um	 programa	 em	 Python	 que	 leia	 o	 percentual	 de	 alunos	
reprovados	 na	 turma	 C,	 o	 percentual	 de	 aprovados	 na	 turma	 D,	
calcule	e	escreva:
	
a)	O	número	de	alunos	reprovados	na	turma	C.
	
b)	O	número	de	alunos	reprovados	na	turma	D.		
c)	A	percentagem	de	alunos	reprovados	em	relação	ao	total	de	alunos	
das	duas	turmas.		
	
Teste	do	Programa:		
	
Percentual	de	alunos	reprovados	na	turma	C:	10	<enter>
	
Percentual	de	alunos	aprovados	na	turma	D:	85	<enter>	
Quantidade	de	alunos	reprovados	na	turma	C:	6		
Quantidade	de	alunos	reprovados	na	turma	D:	3		
Percentual	de	alunos	reprovados	em	relação	ao	total	de	alunos	das	duas	turmas:	11.25		
	
i) Escreva	um	programa	em	Python	que	recebe	três	valores	via	teclado:	
a,	b	e	c.	O	programa	deve	calcular	e	imprimir	na	tela	os	valores	
das	raízes	x1	e	x2	dados	pela	fórmula	da	bhaskara,	ou	seja,	uma	
equação	de	segundo	grau:	a.x2
	+	b.x	+	c	=	0	
	
Teste	do	Programa:	
	
a	=	1	<enter>

20
b	=	2	<enter>	
c	=	-3	<enter>	
x1	=	1	
x2	=	-3	
14.	Operadores	relacionais	
	
	 Os	 operadores	 relacionais	 permitem	 ao	 programador	 realizar	
comparações.	 A	 seguir,	 a	 Tabela	 4	 exibe	 os	 operadores	 relacionais	
utilizados	em	Python.	
	
Tabela	4:	Operadores	Relacionais	
Operador	relacional	 Função	
==	 Igual	
!=	 Diferente	
>	 Maior	
<	 Menor	
>=	
Maior	ou	
igual	
<=	
Menor	ou	
igual	
	
15.	Operadores	lógicos	
	
	 Os	 operadores	 lógicos	 permitem	 ao	 programador	 realizar	 várias	
comparações	 em	 uma	 mesma	 condição.	 A	 seguir,	 a	 Tabela	 5	 exibe	 os	
operadores	lógicos	utilizados	em	Python.	
	
Tabela	5:	Operadores	Lógicos	
Operador	lógico	
and	
or	
not	
	
and	é	verdadeiro	quando	ambas	condições	forem	verdadeiras	
or	é	verdadeiro	quando	uma	ou	ambas	condições	forem	verdadeiras.	
not	é	o	inverso	da	condição,	ou	seja,	inverte	o	True	ou	False.		
	
16.	Comando	de	Seleção	(if)
21
	 O	comando	de	seleção	if	permite	o	programa	seguir	dois	caminhos,	
isto	é	feito	através	de	uma	condição,	utilizando	um	operador	relacional	
(Tabela	4),	que	pode	ser	verdadeira	(True)	ou	falsa	(False).	
	
Sintaxe:	if	condição:	comando		 #	simples	
	
	 	 	 ou	
	
	 	 if	condição:	 	 	 #	simples	
	 	 	 comando	
	
	 	 	 ou	
	
	 	 if	condição:	 	 	 #	composto	
	 	 	 comando1	
	 	 else:	
	 	 	 comando2	
	
	 	 	 ou	
	
	 	 if	condição1:	
	 	 	 comando1	
	 	 elif	condição2:	
	 	 	 comando2	
	 	 else:	
	 	 	 comando3	
	
	
Programa	Exemplo:	if	simples	
	
#	--------------------------------------	If.py	
	
1:	x	=	int(input("Digite	um	Número:	"))	
2:	if	x	<	0:		
3:				print("Número	é	negativo")	
4:	print("x	=	",	x)	
	
Observação:	Note	a	endentação	no	comando	if	(linha	3),	Python	utiliza	a	
endentação	como	forma	de	formar	blocos	de	comandos,	ou	seja,	delimitar	
instruções	ligadas	a	um	único	comando.	
	
Teste	do	Programa:	
	
=======	RESTART:	/Users/pluzzardi/Documents/If.py	========	
Digite	um	Número:	-5	
Número	é	negativo
22
x	=	-5	
>>>		
=======	RESTART:	/Users/pluzzardi/Documents/If.py	========	
Digite	um	Número:	5	
x	=	5	
>>>	
	
Programa	exemplo:	If	completo,	ou	seja,	com	duas	partes	
	
#	----------------------------------------	Par.py	
	
x	=	int(input("Digite	um	Número:	"))	
if	x	%	2	==	0:	
					print("Par")	
else:	
					print("Ímpar")	
	
Teste	do	Programa:	
	
=================	RESTART:	/Users/pluzzardi/Documents/Par.py	=======	
Digite	um	Número:	4	
Par	
>>>	
	
#	-------------------------	Bhaskara.py	
	
import	math	
	
a	=	float(input("a	=	"))	
b	=	float(input("b	=	"))	
c	=	float(input("c	=	"))	
delta	=	b**2	-	4	*	a	*	c	
if	delta	>=	0:	
				x1	=	(-b	+	math.sqrt(delta))	/	2*a	
				x2	=	(-b	-	math.sqrt(delta))	/	2*a	
				print("x1	=	",	x1)	
				print("x2	=	",	x2)	
else:	
				print("Erro:	Raizes	complexas")	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Documents/bhaskara.py	======	
a	=	1	
b	=	2	
c	=	-3	
x1	=		1.0	
x2	=		-3.0	
>>>	
	
Programa	exemplo:	if	com	elif
23
#	----------------------------------------	Elif.py	
	
numero	=	int(input("Digite	um	Número:	"))	
if	numero	>	0:	
				print("Positivo")	
elif	numero	<	0:	
				print("Negativo")	
else:	
				print("Zero")	
	
16.1	Lista	de	Exercícios	(Comando	de	Seleção	if)	
a)Escreva	um	programa	em	Python	que	lê	as	notas	de	duas	avaliações	
de	um	aluno	no	semestre.	Calcular	e	escrever	a	média	semestral	e	a	
seguinte	mensagem:	‘PARABÉNS!	Você	foi	aprovado’	somente	se	o	aluno	
foi	aprovado	(considere	7.0	a	nota	mínima	para	aprovação)	ou	‘Você	
foi	reprovado!	Estude	mais’.		
	
Teste	do	Programa:		
	
Nota	1:	6	<enter>
	
Nota	2:	8	<enter>
	
Média:	7.0	
PARABÉNS!	Você	foi	aprovado	
	
b)Escreva	um	programa	em	Python	que	lê	dois	valores.	Escreva	o	valor	
do	maior,	o	menor	e	a	média	dos	dois	valores.		
	
Teste	do	Programa:		
	
Valor:	3	<enter>
	
Valor:	4	<enter>
	
Maior:	4	
Menor:	3	
Média:	3.5	
	
c)Escreva	um	programa	em	Python	que	lê	o	ano	de	nascimento	de	uma	
pessoa.	Escrever:	PODE	VOTAR	ou	NÃO	PODE	VOTAR	e	a	idade,	conforme	
exemplo	abaixo.		
	
Teste	do	Programa:		
	
Ano	de	Nascimento:	1999	<enter>
	
Status:	PODE	VOTAR	
Idade:	18	anos
	
	
d)	As	maçãs	custam	R$	0,30	ser	forem	compradas	menos	do	que	uma	dúzia,	
e	R$	0,25	ser	forem	compradas	pelo	menos	doze.	Escreva	um	programa	
em	Python	que	leia	o	número	de	maçãs	compradas,	calcule	e	escreva	o
24
valor	total	da	compra.		
	
Testes	do	Programa:		
	
Maças:	20	<enter>
	
Valor	da	Compra:	R$	5.00
	
	 ou	
Maças:	12	<enter>
	
Valor	da	Compra:	R$	3.00
	
	
e)	Escreva	um	programa	em	Python	que	recebe	via	teclado	a	altura	e	o	
sexo	(codificado	da	seguinte	forma:	[f]	feminino	-	[m]	masculino)	de	
uma	pessoa.	Calcule	e	imprima	na	tela	o	peso	ideal,	utilizando	as	
seguintes	fórmulas:		
Homens:	72.7	*	h	-	58	
Mulheres:	62.1	*	h	-	44.7		
	
Testes	do	Programa:		
	
Altura:	1.80	<enter>
	
Sexo	[M]	ou	[F]:	m
<enter>	
Peso	Ideal:	72.86	
	 ou	
Altura:	1.65	<enter>
	
Sexo	[M]	ou	[F]:	F
<enter>	
Peso	Ideal:	57.765	
17.	Contador	e	acumulador	
Um	contador	é	uma	variável	que	possui	uma	expressão	matemática,	
dentro	 de	 um	 comando	 de	 atribuição,	 que	 realiza	 uma	 contagem	 de	 uma	
certa	quantidade	de	vezes	que	um	comando	de	repetição	é	executado,	ou	
seja,	ela	mantém	a	quantidade	de	vezes	que	um	laço	foi	executado.	Pode-
se	contar	de	um	em	um,	dois	em	dois	e	assim	sucessivamente,	servindo,	
normalmente,	para	contar	o	número	de	elementos.	
Sintaxe:	x	=	x	+	1		 	 #	x	ß	x	+	1	
Note	 que	 é	 somado	 um	 (1)	 ao	 x	 e	 então	 atribuído	 este	 novo	 valor	 ao	
próprio	x.	Note	ainda	que	um	(1)	é	uma	constante,	que	pode	ser	1,	2,	3,	
...	
Um	acumulador	ou	somador	é	uma	variável	que	contém	uma	expressão	
matemática	que	serve	para	acumular	valores	a	cada	vez	que	o	código	é	
executado.	
Sintaxe:	soma	=	soma	+	n		 #	soma	ß	soma	+	n
25
Note	que	é	somado	o	valor	‘n’	a	soma	e	atribuído	este	novo	valor	a	
própria	soma.	Note	ainda	que	n	é	uma	variável,	que	pode	ser	qualquer	
valor	inteiro	ou	real	(float).	
18.	Comandos	de	Repetição	(while	e	for)	
	
	 Os	 comandos	 de	 repetição	 while	 e	for	 permitem	 repetir	 diversas	
vezes	 um	 bloco	 de	 comandos	 ou	 instruções.	 While	 repete	 enquanto	 a	
condição	é	verdadeira.		
Comando	while:	
	
Sintaxe:		 while	condição:	
	 	 	 comando1	
	 	 	 comando2	
	 	 			 		...	
#	---------------------------	While.py	
	
i	=	1	
while	i	<=	10:	
				print("i	=	",	i)	
				i	=	i	+	1	
	
Teste	do	Programa:	
	
=========	RESTART:	/Users/pluzzardi/Documents/While.py	=========	
i	=		1	
i	=		2	
i	=		3	
i	=		4	
i	=		5	
i	=		6	
i	=		7	
i	=		8	
i	=		9	
i	=		10	
>>>	
#	--------------------	In2.py	
	
import	random	
	
s	=	's'	
while	s	in	['S',	's']:	 #	operador	in	
				num	=	random.randint(1,	10)	
				print("Número	sorteado:	",	num)	
				s	=	input("Continua	[S/N]")	
	
Teste	do	Programa:
26
	
=============	RESTART:	/Users/pluzzardi/Documents/In2.py	=========	
Número	sorteado:		2	
Continua	[S/N]s	
Número	sorteado:		2	
Continua	[S/N]s	
Número	sorteado:		7	
Continua	[S/N]s	
Número	sorteado:		10	
Continua	[S/N]n	
>>>	
Comando	for:	
	
	 Permite	executar	várias	vezes	um	bloco	de	comandos.	
	
Sintaxe:		 for	variável	in	faixa:	
	 	 	 comando1	
	 	 	 comando2	
	 	 			 		...	
Observação:	A	escolha	entre	o	comando	while	e	for	se	dá	sempre	que	sabe-
se	a	quantidade	de	vezes	que	um	bloco	é	executado.	Sempre	que	se	sabe	o	
número	de	vezes,	deve-se	usar	o	comando	for,	caso	contrário,	deve-se	
utilizar	 o	 comando	 while,	 que	 pode	 ser	 controlado	 de	 várias	 formas,	
baseados	em	sua	condição.	
	
	 Para	 utilizar	 o	 comando	 for	 deve-se	 saber	 o	 início	 (start),	 o	
ponto	de	parada	(stop)	e	a	variação	(step).	
		
#	---------------------------------	For.py	
	
for	i	in	range(6):	 #	faixa:	0	à	5,	onde	6	é	o	ponto	de	parada	
				print(i)	
	
======	RESTART:	/Users/pluzzardi/Desktop/Python/Python/For.py	=====	
0	
1	
2	
3	
4	
5	
>>>	
	
#	-----------------------------------	ForDuplo.py	
	
for	i	in	range(3):	
				for	j	in	range(4):	
								print(i,	j)	
	
======	RESTART:	/Users/pluzzardi/Documents/ForDuplo.py	==========
27
0	0	
0	1	
0	2	
0	3	
1	0	
1	1	
1	2	
1	3	
2	0	
2	1	
2	2	
2	3	
>>>	
	
Observação:	Note	que	começa	sempre	em	zero.	
	
#	-----------------------------------	ForDuplo2.py	
	
for	i	in	range(3):	
				for	j	in	range(4):	
								print(i+1,	j+1)	
	
===	RESTART:	/Users/pluzzardi/Desktop/Python/Python/ForDuplo2.py	===	
1	1	
1	2	
1	3	
1	4	
2	1	
2	2	
2	3	
2	4	
3	1	
3	2	
3	3	
3	4	
>>>	
	
18.1	range	(faixa)	
	
	 Range	 permite	 determinar	 o	 ponto	 de	 partida	 (start),	 ponto	 de	
parada	(stop)	e	a	variação	(step)	usado	no	comando	for.	
	
Sintaxe:	range(start,	stop,	step)	
	
Onde:		Start:	partida	
Stop:	parada	(stop	-	1)	
Step:	passo	(incremento	[+]	ou	decremento	[-])	
	
Exemplos:	
	
for	i	in	range(10):	 	 #	0	1	2	3	4	5	6	7	8	9	
	 print(i)
28
	
for	i	in	range(0,	10,	2):	 #	0	2	4	6	8	
	 print(i)	
	
for	i	in	range(0,	11,	2):	 #	0	2	4	6	8	10	
	 print(i)	
	
for	i	in	range(10,	-1,	-1):	 #	10	9	8	7	6	5	4	3	2	1	0	
	 print(i)	
	
for	i	in	range(10,	0,	-1):	 #	10	9	8	7	6	5	4	3	2	1	
	 print(i)	
	
Observação:	Nunca	chega	no	ponto	de	parada.	
18.2	Lista	de	Exercícios	(Comando	de	Repetição	while	e	for)	
a)Escreva	 um	 programa	 em	 Python	 que	 lê	 um	 número	 via	 teclado.	 O	
programa	deve	exibir	se	o	número	é	PAR	ou	ÍMPAR.	O	programa	é	encerrado	
quando	o	número	digitado	for	ZERO.		
	
Teste	do	Programa:		
	
Número:	6	<enter>
	
PAR	
Número:	7	<enter>	
IMPAR	
Número:	0	<enter>	
PAR	
>>>	
	
b)Escreva	 um	 programa	 em	 Python	 que	 lê	 um	 número	 via	 teclado.	 O	
programa	 deve	 exibir:	 POSITIVO,	 NEGATIVO	 ou	 ZERO.	 O	 programa	 é	
encerrado	 quando	 o	 usuário	 digitar	 ‘N’	 ou	 ‘n’	 na	 pergunta	
“Continua	[S/N]?”.		
	
Teste	do	Programa:		
	
Número:	6	<enter>
	
POSITIVO	
Continua	[S/N]?	s	
Número:	-7	<enter>	
NEGATIVO	
Continua	[S/N]?	S	
Número:	0	<enter>	
ZERO	
Continua	[S/N]?	N	
>>>	
	
c)Escreva	um	programa	em	Python	que	lê	um	nome	via	teclado.	O	programa	
deve	exibir	o	número	de	palavras	do	nome	e	a	abreviatura	do	nome.
29
	
Teste	do	Programa:		
	
Nome:	Paulo	Roberto	Gomes	Luzzardi	<enter>	
Número	de	palavras:	4	
Abreviatura:	P.	R.	G.	L.	
>>>	
	
d)Escreva	um	programa	em	Python	que	lê	um	nome	via	teclado.	O	programa	
deve	exibir	o	nome	do	autor,	conforme	exemplo	abaixo:		
	
Teste	do	Programa:		
	
Nome:	Paulo	Roberto	Gomes	Luzzardi	<enter>	
Autor:	Luzzardi,	Paulo	R.	G.	
>>>	
	
e)	Escreva	um	programa	em	Python	que	lê	um	nome	qualquer	via	teclado.	
Logo	após	a	entrada	exiba	na	tela:	(a)	todas	as	vogais	do	nome;	(b)	
todas	 as	 consoantes	 do	 nome	 e	 o	 (c)	 total	 de	 letras,	 conforme	 e	
exatamente	igual	ao	teste	abaixo:	
Teste	do	Programa:		
Nome: paulo roberto gomes luzzardi <enter>
Vogais: auooeooeuai (11)
Consoantes: plrbrtgmslzzrd (14)
Total de letras: 25
>>>	
	
19.	Listas	em	Python	(vetores)	
	 	
Em	Python	vetores	são	representados	em	forma	de	listas.	Vetores	
são	estruturas	que	permitem	armazenar	valores	homogêneos,	ou	seja,	de	
mesmo	tipo.	Listas	por	outro	lado,	são	classes	que	permitem	armazenar	
qualquer	tipo	de	informação.	A	seguir	são	vistos	diversos	exemplos	da	
utilização	de	listas.	
Exemplo:	Lista1.py	
#	-------------------------------	Lista1.py	
x	=	[10,	20,	30]	
n	=	len(x)	 	 	 #	retorna	o	número	de	elementos	da	lista	
for	i	in	range(n):	
	 print(x[i])	 	 #	imprime	elemento	por	elemento	
	
	
Teste	do	Programa:
30
=======	RESTART:	/Users/pluzzardi/Documents/Lista1.py	==========	
10	
20	
30	
>>>	
	
Exemplo:	Lista2.py	
	
#	-------------------------------	Lista2.py	
	
x	=	[]	#	declara	uma	lista	vazia	
n	=	int(input("Número	de	Elementos:	"))	
for	i	in	range(n):	
				num	=	int(input("Digite	um	Número:	"))	
				x.append(num)	 	 #	insere	um	elemento	no	fim	da	lista	
for	i	in	range(n):	
				print('x[',i,']	=	',	x[i],	sep='')	 #	elimina	o	espaço	
print("Lista:	",	x)	
	
Teste	do	Programa:	
	
====	RESTART:	/Users/pluzzardi/Desktop/Python/Python/Lista2.py	====	
Número	de	Elementos:	4	
Digite	um	Número:	10	
Digite	um	Número:	20	
Digite	um	Número:	30	
Digite	um	Número:	40	
x[0]	=	10	
x[1]	=	20	
x[2]	=	30	
x[3]	=	40	
Lista:		[10,	20,	30,	40]	
>>>	
	
Exemplo:	Lista3.py	
	
#	------------------------------	Lista3.py	
	
x	=	[10,	20,	30]	
y	=	x	
print("x	=	",	x,	"y	=	",	y)	
print(x	is	y)	
print(id(x))	
print(id(y))	
t	=	x[:]					 #	cria	uma	cópia	da	lista	x	...	t	=	x.copy()	
print(t	is	x)	
print(id(t))	
print("Número	de	Elementos:	",	len(x))	
	
Teste	do	Programa:	
	
========	RESTART:	/Users/pluzzardi/Documents/Lista3.py	==========	
x	=		[10,	20,	30]	y	=		[10,	20,	30]
31
True	
4380371208	
4380371208	
False	
4320652552	
Número	de	Elementos:		3	
>>>	
	
Exemplo:	Lista4.py	
	
#	--------------------------------	Lista4.py	
	
nome	=	[]	
nota	=	[]	
soma	=	0.0	
numeroAlunos	=	4	
for	i	in	range(numeroAlunos):	
				nome.append(input("Nome	do	Aluno:	"))	
				nota.append(float(input("Nota	do	"	+	nome[i]	+	":	")))	
				soma	=	soma	+	nota[i]	
media	=	soma	/	numeroAlunos	
print("Média	da	Turma:",	media)	
	
Teste	do	Programa:	
	
========	RESTART:	/Users/pluzzardi/Documents/Lista4.py	=============	
Nome	do	Aluno:	Paulo	
Nota	do	Paulo:	7	
Nome	do	Aluno:	Roberto	
Nota	do	Roberto:	8	
Nome	do	Aluno:	Gomes	
Nota	do	Gomes:	9	
Nome	do	Aluno:	Luzzardi	
Nota	do	Luzzardi:	10	
Média	da	Turma:	8.5	
>>>	
	
Imprimir	Listas	utilizando	o	comando	for:	
	
lista	=	{10,	20,	30,	40,	50}		 	 #	lista	de	números	inteiros	
	
print("Lista	sem	Ordenação")	
for	i	in	lista:	
				print(i)	
	
print("Lista	Ordenada")	
for	i	in	sorted(lista):	
				print(i)	
	
for	i,	valor	in	enumerate(lista):	 #	com	numeração	
				print("%d	-	%d"	%(i,	valor))	
	
lista	=	list(range(10))
32
for	i	in	lista:	
				lista[i]	=	i	+	5	
				print(lista[i])	
print(lista)	
	
nomes	=	{"Carla",	"Ana",	"Debora",	"Eva",	"Beatriz"}	
for	i	in	sorted(nomes):	
				print(i)	
					
#	for	<variável>	in	<lista>:	
#			<bloco	de	código	endentado>	
	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Desktop/Python/Python/For.py	=====	
0	
1	
2	
3	
4	
5	
Lista	sem	Ordenação	
40	
10	
50	
20	
30	
Lista	Ordenada	
10	
20	
30	
40	
50	
0	-	40	
1	-	10	
2	-	50	
3	-	20	
4	-	30	
5	
6	
7	
8	
9	
10	
11	
12	
13	
14	
[5,	6,	7,	8,	9,	10,	11,	12,	13,	14]	
Ana	
Beatriz	
Carla
33
Debora	
Eva	
	
Funções	para	operar	listas:	
	
Anexar	o	elemento	no	final	da	lista:	append	
	
lista.append(elemento)	
	
Remove	o	elemento	da	lista:	remove	
	
lista.remove(elemento)	
	
Limpa	toda	a	lista,	ou	seja,	apaga	todos	os	elementos	da	lista:	clear	
	
lista.clear()	
	
Insere	o	elemento	antes	do	índice:	insert	
	
lista.insert(índice,	elemento)	
	
Remove	o	último	elemento	e	retorna	o	valor:	pop	
	
ultimo	=	lista.pop()	
	
Reverte	os	elementos	da	lista	(muda	a	ordem):	reverse	
	
lista.reverse()	
	
Cria	uma	cópia	da	lista:	copy	
	
temp	=	lista.copy()	
	
Ordena	uma	lista:	sort	
	
lista.sort()	 ou		 lista.sort(reverse	=	True)	
	
Número	de	elementos	de	uma	lista:	len	
	
n	=	len(lista)	
	
Retorna	o	número	de	vezes	de	um	elemento	dentro	de	uma	lista:	count	
	
vezes	=	lista.count(elemento)
34
Retorna	o	índice	de	um	elemento	em	uma	lista:	index	
	
posição	=	lista.index(elemento)	
	
#	---------------------------------------	Lista.py	
	
lista	=	[40,	30,	50,	10,	20]	
	
lista.sort()	 #	ordena	em	ordem	crescente	
print(lista)	
	
lista.sort(reverse=True)	 #	ordena	em	ordem	decrescente	
print(lista)	
	
#	insert(posição,	valor)	
lista.insert(1,	15)					#	insere	o	elemento	antes	da	posição	
print(lista)	
	
print(lista.count(20))		#	exibe	o	número	de	vezes	do	elemento	
	
print(lista.index(20))		#	exibe	o	índice	do	elemento	
	
ultimo	=	lista.pop()				#	remove	o	último	elemento	
print("Último	elemento:	",	ultimo)	
print(lista)	
	
lista.reverse()					#	inverte	a	lista	(ordem	dos	elementos)	
print(lista)	
	
temp	=	lista.copy()	
print("Lista	Nova:	",	temp)	
	
Teste	do	programa:	
	
===============	RESTART:	/Users/pluzzardi/Desktop/Lista.py	=========	
[10,	20,	30,	40,	50]	
[50,	40,	30,	20,	10]	
[50,	15,	40,	30,	20,	10]	
1	
4	
Último	elemento:		10	
[50,	15,	40,	30,	20]	
[20,	30,	40,	15,	50]	
Lista	Nova:		[20,	30,	40,	15,	50]	
>>>	
	
	 O	programa	a	seguir	mostra	a	criação	aleatória	de	palpites	para	a	
MegaSena.	
	
#	----------------------------	MegaSena.py	
	
import	random
35
	
#	----------------------------	repetido	
def	repetido(num,	n,	t):	
				for	i	in	range(n):	
								if	num[i]	==	t:	
												return(True)	
				return(False)	
	
#	----------------------------	imprime	
def	imprime(num):	
				for	i	in	range(len(num)):	
								t	=	num[i]	
								print("%2d	"	%t,	sep='',	end='')	
				print()	
					
ch	=	's'	
while	ch	in	['S',	's']:	
				palpites	=	int(input("Número	de	palpites:	"))	
				for	i	in	range(palpites):	
								num	=	[]	
								n	=	1	
								num.append(random.randint(1,	60))	
								while	n	!=	6:	
												t	=	random.randint(1,	60)	
												if	not(repetido(num,	n,	t)):	
																num.append(t)	
																n	=	n	+	1	
								num.sort()	 #	ordena	a	lista	
								imprime(num)	
				ch	=	input("Continua	[s/n]?")	
	
Teste	do	Programa:	
	
========	RESTART:	/Users/pluzzardi/Desktop/MegaSena.py	=============	
Número	de	palpites:	5	
	3		9	14	17	26	40		
	2		7	10	12	28	54		
	9	13	16	30	36	39		
	2	26	29	43	47	54		
	5	12	23	31	37	55		
Continua	[s/n]?s	
Número	de	palpites:	6	
	9	11	23	26	33	34		
	8	28	31	40	43	50		
	9	17	22	24	28	47		
22	31	33	36	39	45		
16	27	39	40	43	46		
15	31	36	42	48	60		
Continua	[s/n]?n	
>>>	
19.1	Lista	de	Exercícios	de	Vetores	(listas)
36
a) Escreva	um	programa	em	Python	que	recebe	via	teclado	um	conjunto	
de	letras.	Armazene	todas	as	letras	em	um	vetor	ou	lista	(letras)	
até	que	o	usuário	digite	apenas	<enter>.	Logo	após	copie	todas	as	
letras	 (em	 ordem	 inversa)	 para	 outro	 vetor	 (inverso).	 Ao	 final	
imprima	os	dois	vetores	(conforme	exemplo	abaixo).		
Teste	do	programa:		
Letra: L <enter>
Letra: I <enter>
Letra: M <enter>
Letra: A <enter>
Letra: <enter>
[‘L’, ‘I’, ‘M’, ‘A’]
[‘A’, ‘M’, ‘I’, ‘L’]
b) Escreva	um	programa	em	Python	que	recebe	via	teclado:	número	de	
idades	e	as	respectivas	idades.	Armazene	todas	as	idades	em	um	
vetor	(idade).	Logo	após	a	entrada	de	todas	as	idades,	o	programa	
deve	 receber	 via	 teclado:	idade	 para	 consulta.	 O	 programa	 deve	
imprimir	na	tela,	o	número	de	idades	antes	da	idade	de	consulta	e	
o	número	de	idades	depois	da	idade	de	consulta	(conforme	exemplo	
abaixo).	Exibir	Idade	não	encontrada	se	a	idade	de	consulta	não	
existir.	
Teste	do	programa:		
Número de idades:
 6 <enter>
Idade: 30 <enter>

Idade: 60 <enter>

Idade: 10 <enter>

Idade: 50 <enter>

Idade: 20 <enter>

Idade: 40 <enter>

Idade para consulta: 50 <enter>
Antes: 3
Depois: 2

Continua [S/N]? n <enter>
c) Escreva	um	programa	em	Python	que	recebe	via	teclado	um	conjunto	
de	números	inteiros.	Armazene	todos	os	números	inteiros	em	um	vetor	
até	que	o	usuário	digite	0	(zero).	Logo	após	permita	ao	usuário	
consultar	 um	 número	 informando	 o	 seu	 valor.	 O	 programa	 deve	
imprimir	na	tela	a	posição	do	número	no	vetor	ou	ERRO:	Número	não	
encontrado	(veja	exemplos	abaixo):		
Exemplo:		
Número: 50 <enter>

Número: 30 <enter>

37
Número: 20 <enter>

Número: 10 <enter>

Número: 40 <enter>

Número: 0 <enter>

Valor: 20 <enter>

Posição no vetor: 2

Valor: 40 <enter>

Posição no vetor: 4

Valor: 60 <enter>

ERRO: Número não encontrado
Valor: 0 <enter>
Observação:	O	programa	termina	quando	o	usuário	digitar	0	(zero).		
d) Escreva	um	programa	em	Python	que	recebe	via	teclado	"n"	conceitos	
(A,	B,	C,	D	e	E)	até	que	o	usuário	digite	F	ou	f.	Armazene	todos	
os	conceitos	em	um	vetor	(conceito).	Imprima	na	tela	o	número	de	
alunos:	aprovados	(A,	B	e	C),	reprovados	(D)	e	os	infrequentes	
(E).	
Teste	do	programa:		
Conceito: B <enter>
Conceito: A <enter>
Conceito: E <enter>
Conceito: B <enter>
Conceito: D <enter>
Conceito: C <enter>
Conceito: A <enter>
Conceito: E <enter>
Conceito: f <enter>
5 Aprovado(s)
1 Reprovado(s)

2 Infrequente (s)
e) 	Escreva	um	programa	em	Python	que	recebe	via	teclado	“n”	nomes.	
A	 entrada	 dos	 nomes	 termina	 quando	 o	 usuário	 digitar	 apenas	
<enter>.	Logo	após	a	entrada	de	todos	os	nomes	o	programa	deve	
permitir	 a	 entrada	 via	 teclado	 de	 uma	 letra.	 O	 programa	 deve	
imprimir	 na	 tela	 todos	 os	 nomes	 que	 começam	 com	 a	 letra	
especificada	 pelo	 usuário.	 O	 programa	 termina	 quanto	 o	 usuário	
digitar	“”	(nada)	na	entrada	da	letra	(conforme	exemplos	abaixo):		
Teste	do	programa:		
Nome: Paulo <enter>
Nome: Roberto <enter>
Nome: Renato <enter>
Nome: Pedro <enter>
Nome: Fabio <enter>
Nome: <enter>
Letra: R <enter>
Nome: Roberto
38
Nome: Renato
Letra: P <enter>
Nome: Paulo
Nome: Pedro
Letra: T <enter>
Letra: <enter>
f) Escreva	um	programa	em	Python	que	recebe	via	teclado	“n”	nomes	
e	idades.	A	entrada	dos	dados	termina	quando	o	usuário	digitar	'N'	
ou	'n'	na	pergunta	"Continua	[S/N]?".	Logo	após	a	entrada	de	todos	
os	dados	o	programa	deve	imprimir	na	tela	todos	os	nomes	e	idades	
desde	o	mais	velho	até	o	mais	novo.		
Teste	do	programa:		
Nome: Ana <enter>

Idade: 12 <enter>
Continua [S/N]? s <enter>
Nome: Beatriz <enter>
Idade: 13 <enter>
Continua [S/N]? s <enter>
Nome: Carla <enter>
Idade: 14 <enter>
Continua [S/N]? N <enter>
Carla 14
Beatriz 13
Ana 12
	
	
20.	Questões	de	prova	
A	seguir	são	apresentadas	diversas	questões	de	provas.	Resolva-
as,	 pois	 elas	 servirão	 como	 um	 simulado	 para	 treino	 da	 linguagem	 de	
programação	Python.	
1. Escreva um programa em Python que lê um nome qualquer via
teclado. Logo após a entrada, imprima na tela o nome
abreviado e a quantidade de palavras abreviadas, conforme e
exatamente igual aos testes abaixo:
Teste do programa (1):
Nome: Paulo Roberto Gomes Luzzardi <enter>
Abreviatura: Paulo R. G. Luzzardi
Palavras abreviadas: 2
Teste do programa (2):
Nome: adriane maria machado freitas luzzardi <enter>
Abreviatura: adriane m. m. f. luzzardi
Palavras abreviadas: 3
39
2. Escreva um programa em Python que lê nomes via teclado.
Para cada nome digitado pelo usuário, armazene em uma Lista
[f] para feminino, [m] para masculino ou [i] para
indeterminado, conforme exemplo abaixo. Ao final imprima a
Lista, o total de homens, o total de mulheres e o total de
indeterminados.
Teste do programa:
Nome: Debora <enter>
Nome: Carla <enter>
Nome: Beatriz <enter>
Nome: Paulo <enter>
Nome: Renato <enter>
Nome: <enter>
Lista: [‘f’, ‘f’, ‘i’, ‘m’, ‘m’]
2 homens
2 mulheres
1 indeterminados
3. Escreva um programa em Python que recebe “n” nomes via
teclado (até que o usuário digite apenas <enter>). Insira
todos os nomes ORDENADOS em uma Lista de Strings (conforme
exemplo abaixo). Ao final, o programa deve exibir a Lista
contendo os nomes em ordem alfabética.
Teste do programa:
Nome: Debora <enter>
Nome: Carla <enter>
Nome: Eva <enter>
Nome: Beatriz <enter>
Nome: Ana <enter>
Nome: <enter>
Lista: [‘Ana’, ‘Beatriz’, ‘Carla’, ‘Debora’, ‘Eva’]
4. Escreva um programa em Python que lê um nome via teclado.
Logo após a entrada crie uma outra string (invertido) para
inverter e exibir este nome na tela e ainda o número de
letras do nome (sem contar os espaços) e o total de espaços
do nome, conforme exemplo abaixo.
Teste do programa:
Nome: paulo roberto gomes luzzardi <enter>
Invertido: idrazzul semog otrebor oluap
Total de Letras: 25
Total de Espaços: 3
	
5. Escreva um programa em Python que recebe via teclado:
valor inicial, valor final e intervalo. O programa deve
inserir “n” valores em uma Lista (desde o valor inicial até
o valor final levando em consideração o intervalo entre eles,
conforme exemplos abaixo. Ao final, o programa deve exibir
a Lista criada com estes valores.
40
Teste do programa:
Valor Inicial: 10 <enter>
Valor Final: 70 <enter>
Intervalo: 10 <enter>
Lista: [10, 20, 30, 40, 50, 60, 70]
Valor Inicial: 60 <enter>
Valor Final: 20 <enter>
Intervalo: 5 <enter>
Lista: [60, 55, 50, 45, 40, 35, 30, 25, 20]
	
6. Escreva um programa em Python que insere “n” números
inteiros em uma Lista (até que o usuário digite zero). Logo
após permita a consulta de um valor e então exiba: (a) o
antecessor e (b) o sucessor ou Antecessor não existe,
Sucessor não existe ou Elemento não Encontrado (exatamente
igual aos exemplos abaixo).
Teste do programa:
Valor: 10 <enter>
Valor: 20 <enter>
Valor: 30 <enter>
Valor: 40 <enter>
Valor: 50 <enter>
Valor: 0 <enter>
Lista: [10, 20, 30, 40, 50]
Valor a consultar: 30 <enter>
Antecessor: 20
Sucessor: 40
Valor a consultar: 10 <enter>
Antecessor não existe
Sucessor: 20
Valor a consultar: 60 <enter>
Antecessor não existe
Erro: Elemento não encontrado
Sucessor não existe
Valor a consultar: 0 <enter>
	
7. Escreva um programa em Python que recebe via teclado:
número de idades e as referidas idades. O programa deve então
imprimir na tela: (a) as idades em ordem crescente; (b) maior
idade; (c) menor idade e (d) a média de idades.
Teste do programa:
Número de Idades: 4 <enter>
Idade: 49 <enter>
Idade: 51 <enter>
Idade: 48 <enter>
Idade: 50 <enter>
Idades Ordenadas: [48, 49, 50, 51]
Maior Idade: 51
Menor Idade: 48
Média de Idades: 49.5
41
8. Escreva um programa em Python que lê um vetor R de 5
elementos contendo o gabarito da LOTO. A seguir, ler um vetor
A de 10 elementos contendo uma aposta. A seguir imprima
quantos pontos fez o apostador.
Teste do programa:
[Entrada]
R: 4 12 34 25 17 (gabarito)
A: 3 17 55 21 34 4 27 29 20 11 (aposta)
[Saída]
3 (pontos)
	
9. Dada a seguinte tela:
Salário Mensal (R$): 900 <enter>
Férias (R$): 450 <enter>
13 Salário (R$): 780 <enter>
Salário Anual (R$): 12030.00
Alíquota do Imposto de Renda: ISENTO
Escreva um programa em Python que recebe via teclado:
Salário mensal, valor das férias e 13o salário. O programa
deve calcular e imprimir na tela: Salário Anual e a Alíquota
do imposto de renda (dada pela tabela abaixo):
Salário Mensal Alíquota do Imposto de Renda
Menor ou igual a 1.058,00 Isento
Maior que 1.058,00 15%
Maior que 2.700,00 27,5%
10. Escreva um programa em Python que lê via teclado, um
número inteiro qualquer (positivo ou negativo). O programa
deve calcular e imprimir na tela: (a) inverso; (b) quadrado;
(c) raiz quadrada e (d) cubo deste número.
Teste do programa:
Número: 4 <enter>
Inverso: 0.25
Quadrado: 16
Raiz Quadrada: 2
Cubo: 64
11. Dado os seguintes exemplos de entrada de dados:
a = 1 <enter> a = 1 <enter>
b = -4 <enter> b = 2 <enter>
c = 2 <enter> c = 3 <enter>
Raízes Reais Raízes Complexas
x1 = 3.41 x1 = -1.00 + 1.41 i
x2 = 0.59 x2 = -1.00 - 1.41 i
42
Escreva um programa em Python que recebe via teclado:
os coeficientes a, b e c de uma equação do segundo grau. O
programa deve calcular e imprimir na tela: as raízes x1 e
x2.
a . x2
+ b . x + c = 0 # equação de segundo grau
Atenção: Note que as raízes podem ser Reais ou Complexas.
delta = b2 – 4ac
+------
-b +- / delta
Raízes Reais: x1,2 = ------------------ “delta maior ou igual a zero”
2.a
+---------
-b / | delta |
Raízes Complexas: x1,2 = ----- +- ------------- i “delta menor que zero”
2.a 2.a
	
12. Escreva um programa em Python que lê um conjunto de 10
pares de dados contendo, cada um, a altura e um código para
masculino (1) e outro para feminino (2) de uma turma de
alunos. Calcular e imprimir na tela: (a) maior e a menor
altura da turma e (b) média de altura das mulheres e dos
homens e (c) total de homens e total de mulheres.
Teste do programa:
[Entrada]
1.80 (altura) 1 (masculino)
1.60 (altura) 2 (feminino)
1.62 (altura) 1 (masculino)
1.70 (altura) 2 (feminino)
1.72 (altura) 1 (masculino)
1.80 (altura) 2 (feminino)
1.92 (altura) 1 (masculino)
1.40 (altura) 1 (masculino)
1.42 (altura) 1 (masculino)
1.64 (altura) 1 (masculino)
[Saída]
1.92 (maior altura da turma)
1.40 (menor altura da turma)
1.70 (média de altura das mulheres
1.65 (média de altura dos homens
7 Homens
3 Mulheres
	
13. Escreva	um	programa	em	Python	que	recebe	via	teclado	“n”	nomes	e	
idades.	A	entrada	dos	dados	termina	quando	o	usuário	digitar	'N'	ou	'n'	
na	pergunta	"Continua	[S/N]?".	Logo	após	a	entrada	de	todos	os	dados	o
43
programa	 deve	 imprimir	 na	 tela	 todos	 os	 nomes	 e	 idades	 em	 ordem	
alfabética	(conforme	exemplo	abaixo).	
	
Teste do programa:
	
Nome:	Beatriz	<enter>	
Idade:	12	<enter>	
Continua	[S/N]?	s	<enter>	
Nome:	Carla	<enter>	
Idade:	13	<enter>	
Continua	[S/N]?	s	<enter>	
Nome:	Debora	<enter>	
Idade:	15	<enter>	
Continua	[S/N]?	s	<enter>	
Nome:	Ana	<enter>	
Idade:	14	<enter>	
Continua	[S/N]?	N	<enter>	
Ana	 	 14	
Beatriz	12	
Carla	 	 13	
Debora	15	
	
14. Escreva um programa em Python que recebe via teclado:
valor e quantidade até que o usuário tecle zero (0) no valor.
O programa deve inserir ambos valores em uma Lista (conforme
exemplo abaixo). Ao final, o programa deve criar e exibir
outra Lista (Lista por extenso) contendo todos os valores
por extenso (conforme exemplo abaixo) e ainda o total de
valores da lista por extenso.
Teste do programa:
Valor: 10 <enter>
Quantidade: 3 <enter>
Valor: 20 <enter>
Quantidade: 4 <enter>
Valor: 30 <enter>
Quantidade: 2 <enter>
Valor: 0 <enter>
Lista:	[10,	3,	20,	4,	30,	2]		
Lista	por	Extenso:	[10,	10,	10,	20,	20,	20,	20,	30,	30]		
Total	de	valores	por	extenso:	9		
	
21.	Curiosidades	e	testes	no	Python	
	 A	seguir	são	vistos	algumas	curiosidades	e	testes	feitos	no	
Python:	
	
#	---------------------------------	Teste.py	
	
#	====================	inicialização	de	várias	variáveis
44
	
a,	b	=	10,	20	
print(a,	b)	
	
#	====================	None	(nulo	ou	null	
	
x	=	None					#	None	é	nulo	ou	null	
x	=	5	
print(x)	
	
#	=====================	imprimir	várias	variáveis	
	
x	=	10	
y	=	20	
print("x	=	%d	-	y	=	%dn"	%(x,	y))	 #	print	formatado	
	
#	=====================	definição	de	uma	função	em	Python	
	
def	maior(x,	y):	
				if	x	>	y:	
								return(x)	
				else:	
								return(y)	
	
print(maior(3,4))	
	
#	==============================	if	simples	
	
x	=	int(input("Digite	um	Número:	"))	
if	x	<	0:	
				print('Valor	Negativo')	
print("Número	Digitado:	",	x)	
	
#	==============================	imprimir	uma	string	
	
for	letter	in	"python":	
				print(letter)	
	
#	==============================	if	...	elif	...	else	...	
	
numero	=	int(input("Digite	um	Número:	"))	
if	numero	>	0:	
				print("Positivo")	
elif	numero	<	0:	
				print("Negativo")	
else:	
				print("Zero")	
	
#	==================================	data	e	hora	
	
from	datetime	import	datetime	
	
data	=	datetime.now()
45
print(data)	
print("Data:	%02d/%02d/%d"	%(data.day,	data.month,	data.year))	
print("Tempo:	%02d:%02d:%02d"	%(data.hour,	data.minute,	data.second))	
	
Teste	do	Programa:	
	
10	20	
5	
x	=	10	-	y	=	20	
	
4	
Digite	um	Número:	-5	
Valor	Negativo	
Número	Digitado:	-5	
p	
y	
t	
h	
o	
n	
Digite	um	Número:	0	
Zero	
2017-03-08	14:47:17.866354	
Data:	08/03/2017	
Tempo:	15:01:59	
>>>	
	
#	-----------------------------------	str.py	
	
s	=	""	
for	i	in	range(10):	
				s	=	s	+	str(i)	+	",	"	 #	forma	uma	string	com	números	
print(s)	
	
Teste	do	Programa:	
	
==========	RESTART:	/Users/pluzzardi/Documents/str.py	===========	
0,	1,	2,	3,	4,	5,	6,	7,	8,	9,		
>>>	
	
22.	Funções	escritas	pelo	programador	em	Python	
	
	 Em	Python	é	possível	o	programador	escrever	suas	próprias	funções,	
ou	seja,	dividir	os	programas	em	módulos	menores	(programação	modular	
ou	 estruturada	 ou	 dividir	 para	 conquistar).	 Uma	 função	 deve	 ser	 uma	
caixa	preta,	que	depois	de	funcionar	não	precisa	mais	manutenção.	Uma	
função	pode	ou	não	receber	argumentos	(parâmetros)	e	retornar	ou	não	um	
valor.
46
	 Para	 escrever	 uma	 função	 usa-se	 a	 palavra	 reservada	 def.	 A	
princípio	a	função	deve	estar	localizada	antes	da	chamada	da	função.	A	
sintaxe	é:	
	
def	nome_função(lista	de	argumentos):	
	 comando1	
	 comando2	
	 return(valor)	
	
chamada_função(argumentos)	
	
Exemplo:	
	
#	--------------------------------	Funcoes.py	
	
import	math	
	
def	Hipotenusa(a,	b):	
				h	=	math.sqrt(a**2	+	b**2)	
				return(h)	
	
def	Maior(a,	b):	
				if	a	>=	b:	
								return(a)	
				else:	
								return(b)	
	
def	Menor(a,	b):	
				if	a	<=	b:	
								return(a)	
				else:	
								return(b)	
	
a	=	float(input("Digite	um	valor	(a):	"))	
b	=	float(input("Digite	outro	valor	(b):	"))	
print("Hipotenusa:	",	Hipotenusa(a,b))	
print("Maior:	",	Maior(a,	b))	
print("Menor:	",	Menor(a,	b))	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Documents/Funcoes.py	====	
Digite	um	valor	(a):	3	<enter>	
Digite	outro	valor	(b):	4	<enter>	
Hipotenusa:		5.0	
Maior:		4.0	
Menor:		3.0	
>>>	
	
	 Exemplo	usando	uma	função	Raiz,	usando	um	conceito	da	matemática:
47
	
def	Raiz(x):	
	 r	=	x	**	0.5	
	 return(r)	
	
def	Hipotenusa(a,	b):	
h	=	Raiz(a*a	+	b*b)	
	 return(h)	
	
a	=	float(input("Digite	um	valor	(a):	"))	
b	=	float(input("Digite	outro	valor	(b):	"))	
print("Hipotenusa:	",	Hipotenusa(a,b))	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Documents/Raiz.py	====	
Digite	um	valor	(a):	3	<enter>	
Digite	outro	valor	(b):	4	<enter>	
Hipotenusa:		5.0	
	
Funções	recursivas	em	Python:	
	
	 Uma	função	é	dita	recursiva	quando	faz	chamada	a	si	própria,	cada	chamada	é	
colocada	na	pilha	de	execução	do	sistema	e	serve	para	retornar	as	chamadas	anteriores.	
	
#	----------------------------------------------	Fatorial.py	
#	Exemplo	de	função	recursiva,	função	que	chama	a	si	própria	
#	É	complexo	o	ponto	de	parada	
#	----------------------------------------------------------	
	
def	Fatorial(n):	
				if	n	<=	1:	
								return(1)	
				fat	=	n	*	Fatorial(n-1)	
				return(fat)	
	
x	=	int(input("Digite	um	valor:	"))	
fat	=	Fatorial(x)	
print("Fatorial:	",	fat)	
	
Teste	do	Programa:	
	
===	RESTART:	/Users/pluzzardi/Documents/Fatorial.py	=====	
Digite	um	valor:	20	<enter>	
Fatorial:		2432902008176640000	
>>>	
	 O	programa	a	seguir,	calcula	o	valor	da	série	de	Fibonacci:	
	
# ...................... Fibonacci.py
def Fibonacci(n):
if n == 0:
48
return(0)
if n == 1 or n == 2:
return(1)
else:
return(Fibonacci(n-1) + Fibonacci(n-2))
n = int(input("Fibonacci de: "))
print("A sequência de Fibonacci é: ", sep='', end='')
for i in range(n):
print(Fibonacci(i), ", ", end='', sep='')
	
Teste	do	Programa:	
	
Fibonacci	de:	15	<enter>	
A	sequência	de	Fibonacci	é:	0,	1,	1,	2,	3,	5,	8,	13,	21,	34,	55,	89,	144,	233,	377,	
	
	 O	programa	a	seguir,	imprime	na	tela	números	em	sequência	em	ordem	
reversa	recursivamente:	
	
# ..................... Imprime.py
n = int(input("Número: "))
Imprime(n)
def Imprime(n):
if n == 0:
return
else:
print(n)
Imprime(n-1)
	
Teste	do	Programa:	
	
Número:	5	<enter>	
5	
4	
3	
2	
1	
	
	 A	seguir	é	visto	um	exemplo	que	mostra	duas	funções	que	permitem	
entrada	de	dados	de	números	reais	(REAL)	ou	números	inteiros	(INTEIRO)	
via	teclado	sem	erro,	ou	seja,	o	usuário	pode	cometer	erros	de	digitação	
que	o	programa	não	é	abortado.	
	
#	----------------------------------------------------------	Float.py	
#	O	programa	testa	a	conversão	de	string	para	float	ou	inteiro		
#					sem	erro	na	entreda	de	dados	com	input	
#	-------------------------------------------------------------------	
	
def	REAL(s):	
				n	=	len(s)	
				temLetras	=	False
49
				for	i	in	range(n):	
								if	s[i]	==	',':	
												s	=	s.replace(',','.')	 #	trocar	vírgula	por	ponto	
								if	s[i]	==	'-'	and	i	!=	0:	 #	verifica	o	sinal	negativo		
												temLetras	=	True;	
												break	
								if	s[i]	not	in	['.',	',',	'-',	'0',	'1',	'2',	'3',	'4',	'5',	'6',	'7',	'8','9']:	
											temLetras	=	True	
											break	
				if	not	temLetras:	
								numero	=	float(s)	
								return(numero)	
				else:	
								print("ERRO:	Conversão	Inválida")	
								return(-1)	
	
def	INTEIRO(s):	
				n	=	len(s)	
				temLetras	=	False	
				for	i	in	range(n):	
								if	s[i]	==	'-'	and	i	!=	0:	
												temLetras	=	True;	
												break	
								if	s[i]	not	in	['-',	'0',	'1',	'2',	'3',	'4',	'5',	'6',	'7',	'8','9']:	
											temLetras	=	True	
											break	
				if	not	temLetras:	
								numero	=	int(s)	
								return(numero)	
				else:	
								print("ERRO:	Conversão	Inválida")	
								return(-1)	
					
s	=	input("Digite	um	Real:	")	
numero	=	REAL(s)	
if	numero	!=	-1:	
				print("Real	digitado	foi:	",	numero)	
while	numero	==	-1:	
				s	=	input("Digite	um	Real:	")	
				numero	=	REAL(s)	
				print("Número	digitado:	",	numero)	
					
s	=	input("Digite	um	Inteiro:	")	
numero	=	INTEIRO(s)	
if	numero	!=	-1:	
				print("Inteiro	digitado	foi:	",	numero)	
while	numero	==	-1:	
				s	=	input("Digite	um	Inteiro:	")	
				numero	=	INTEIRO(s)					
				print("Número	digitado:	",	numero)	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Desktop/Python/Python/float.py	=====
50
Digite	um	Real:	1234Paulo	
ERRO:	Conversão	Inválida	
Digite	um	Real:	123,45	
Número	digitado:		123.45	
Digite	um	Inteiro:	paulo123	
ERRO:	Conversão	Inválida	
Digite	um	Inteiro:	123	
Número	digitado:		123	
>>>	
	
Python permite que o programador defina suas próprias
funções, ou seja, permite que o programador defina pequenos
módulos. Este processo permite “dividir para conquistar”, ou
seja, dividir o programa em problemas menores.
Sintaxe: def nome_módulo(lista de parâmetros):
Return
Existem dois tipos de passagem de parâmetros: por valor
(não altera o valor dos parâmetros) ou por referência (altera
o valor dos parâmetros).
Exemplo de passagem por valor:
# ..................... Calc.py
def add(x, y):
return(x+y)
def sub(x, y):
return(x-y)
def mult(x, y):
return(x*y)
def div(x, y):
if y == 0:
return("Erro: Divisão por Zero")
return(x/y)
def calculadora(x, y, operador):
if operador == '+':
valor = add(x,y)
else:
if operador == '-':
valor = sub(x,y)
else:
if operador == '*':
valor = mult(x,y)
else:
if operador == '/':
valor = div(x,y)
else:
return("ERRO: Operador Inválido")
return(valor)
51
x = float(input("Digite um Valor: "))
y = float(input("Digite outro Valor: "))
operador = input("Operação [+ - * / **]: ")
valor = calculadora(x, y, operador)
print(valor)
Teste	do	Programa:	
Digite	um	Valor:	3	
Digite	outro	Valor:	4	
Operação	[+	-	*	/	**]:	/	
0.75	
Teste	do	Programa:	
Digite	um	Valor:	3	
Digite	outro	Valor:	0	
Operação	[+	-	*	/	**]:	/	
Erro:	Divisão	por	Zero	
Teste	do	Programa:	
Digite	um	Valor:	3	
Digite	outro	Valor:	4	
Operação	[+	-	*	/	**]:	&	
ERRO:	Operador	Inválido	
Exemplo de passagem por referência:
Passagem de parâmetros por referência, ou seja, quando
os parâmetros são modificados.
Note que interessante o comando return, pois ele contém
duas variáveis.
# ..................... Troca.py
def troca(x, y):
temp = x
x = y
y = temp
return(x, y)
x = 3
y = 4
print("x = ", x)
print("y = ", y)
x, y = troca(x, y)
print("x = ", x)
print("y = ", y)
	
	
Teste	do	Programa:	
	
x	=		3
52
y	=		4	
a	=		4	
b	=		3	
	
22.1	Exercícios	sobre	funções	em	Python	
a) A seguir, implemente a função Hipotenusa que recebe
cateto adjacente (a) e o cateto oposto (b) e retorna o
valor da hipotenusa dado pela seguinte fórmula:
Trecho do programa principal:
a = float(input("a = "))
b = float(input("b = "))
h = Hipotenusa(a, b)
print("Hipotenusa é: %.2f" %h)
	
Teste	do	Programa:	
a	=	3	<enter>	
b	=	4	<enter>	
Hipotenusa	é:	5.00	
b) No exercício a seguir, implemente a função Bhaskara,
que recebe três (3) parâmetros: a, b e c e retorna as
duas (2) variáveis: x1 e x2 se existirem, para que o
programa funcione conforme exemplos a seguir:
x1, x2 = -b +- raiz(b2 – 4.a.c) dividido por 2 . a
delta = b2 – 4.a.c
Se delta >= 0:
Raízes_reais
Existe x1 e x2
Senão:
Raizes_complexas
Trecho do programa principal:
a = float(input("a = "))
b = float(input("b = "))
53
c = float(input("c = "))
x1, x2 = Bhaskara(a, b, c)
if x1 != -1 and x2 != -1:
print("Raizes Reais")
print("x1 = ", x1)
print("x2 = ", x2)
else:
print("Raizes Complexas")
	
Teste	do	Programa:	
	
a	=	1	<enter>	
b	=	2	<enter>	
c	=	-3	<enter>	
Raizes	Reais	
x1	=		1.0	
x2	=		-3.0	
	
Teste	do	Programa:	
	
a	=	1	<enter>	
b	=	2	<enter>	
c	=	3	<enter>	
Erro:	Raizes	Complexas	
	
c)Implemente a função Palavras que recebe uma string e
retorna o número de palavras desta string, conforme
exemplo a seguir:
	
Trecho do programa principal:
	
s = input("Nome: ")
n = Palavras(s)
print("Seu nome tem %d palavra(s)" %n)
	
Teste	do	Programa:	
	
Nome:	Paulo	Roberto	Gomes	Luzzardi	<enter>	
Seu	nome	tem	4	palavra(s)	
	
d)Implemente a função Verifica_Data que recebe uma string
no formato “dd/mm/aaaa” e retorna o dia, mês e ano (como
inteiros) contidos na string de entrada, conforme exemplo
a seguir:
	
Trecho do programa principal:
	
data = input("Data [dd/mm/aaaa]: ")
dia, mes, ano = Verifica_Data(data)
if dia != -1:
print("Dia: %d" %dia)
if mes != -1:
print("Mês: %d" %mes)
if ano != -1:
print("Ano: %d" %ano)
54
	
Teste	do	Programa:	
	
Data	[dd/mm/aaaa]:	25/03/2018	<enter>	
Dia:	25	
Mês:	3	
Ano:	2018	
	
Teste	do	Programa:	
	
Data	[dd/mm/aaaa]:	25/03/18	<enter>	
ERRO:	Formato	Inválido	
	
Teste	do	Programa:	
	
Data	[dd/mm/aaaa]:	32/03/18	<enter>	
ERRO:	Dia	Inválido	
	
e)Implemente a função Verifica_Quadrante que recebe dois
valores inteiros: x e y e retorna o quadrante (1, 2, 3 ou
4) destas coordenadas, conforme exemplo a seguir:
	
Trecho do programa principal:
	
x = int(input("x = "))
y = int(input('y = '))
n = Verifica_Quadrante(x, y)
print("Quadrante: %d" %n)
	
Teste	do	Programa:	
	
x	=	2	
y	=	-2	
Quadrante:	4	
	
f)Implemente a função Final_Placa que recebe uma string
no formato “xxx9999” (placa) e devolve o final da placa
com dois dígitos, conforme exemplo a seguir:
	
Trecho do programa principal:
	
placa = input("Placa [xxx9999]: ")
final = FinalPlaca(placa)
if final != -1:
print("Final da Placa é: %d" %final)
	
Teste	do	Programa:	
	
Placa	[xxx9999]:	etq1234	<enter>	
Final	da	Placa	é:		34	
	
Teste	do	Programa:	
	
Placa	[xxx9999]:	etq123	<enter>	
ERRO:	Formato	Inválido
55
	
23.	Criação	e	utilização	de	módulos	em	Python	
	
	 Python permite modularizar os programas, ou seja,
permite que o programador defina seus próprios módulos, desta
forma ele utiliza em outros programas. Um módulo nada mais
é do que um conjunto de funções.
Exemplo da definição do módulo Luzzardi.py.
# ................................ Módulo: Luzzardi.py
def troca(x, y):
temp = x
x = y
y = temp
return(x, y)
	
Exemplo de um programa que utiliza o módulo Luzzardi.py e
que tem a função troca.
	
import Luzzardi
x = 3
y = 4
print("x = ", x)
print("y = ", y)
x, y = Luzzardi.troca(x, y)
print("x = ", x)
print("y = ", y)
	
Teste	do	Programa:	
	
x	=		3	
y	=		4	
x	=		4	
y	=		3	
Exemplo da definição do módulo Luzzardi.py com mais duas
funções: maior e menor.
	
# .................... Módulo: Luzzardi.py
def troca(x, y):
temp = x
x = y
y = temp
return(x, y)
def maior(x, y):
if x >= y:
return(x)
else:
return(y)
56
def menor(x, y):
if x <= y:
return(x)
else:
return(y)
	
# .................... Modulos.py
import Luzzardi
x = 3
y = 4
print("x = ", x)
print("y = ", y)
x, y = Luzzardi.troca(x, y)
print("x = ", x)
print("y = ", y)
print("Maior: ", Luzzardi.maior(x, y))
print("Menor: ", Luzzardi.menor(x,y))
	
Teste	do	Programa:	
	
x	=		3	
y	=		4	
x	=		4	
y	=		3	
Maior:		4	
Menor:		3	
	
Exemplo da definição do módulo Luzzardi.py com mais uma
função: mensagem.
	
# .................... Módulo: Luzzardi.py
def troca(x, y):
temp = x
x = y
y = temp
return(x, y)
def maior(x, y):
if x >= y:
return(x)
else:
return(y)
def menor(x, y):
if x <= y:
return(x)
else:
return(y)
def mensagem(mensagem, valor):
print(mensagem, valor)
	
Observação:	Note	que	não	é	necessário	“return”	no	final	da	função,	o	término	da	
função	é	pela	identação.
57
		
# ....................... Modulos.py
import Luzzardi
x = 3
y = 4
Luzzardi.mensagem("x = ", x)
Luzzardi.mensagem("y = ", y)
x, y = Luzzardi.troca(x, y)
Luzzardi.mensagem("x = ", x)
Luzzardi.mensagem("y = ", y)
Luzzardi.mensagem("Maior: ", Luzzardi.maior(x, y))
Luzzardi.mensagem("Menor: ", Luzzardi.menor(x, y))
	
Teste	do	Programa:	
	
x	=		3	
y	=		4	
x	=		4	
y	=		3	
Maior:		4	
Menor:		3	
	
Em	Python	é	possível	o	programador	escrever	suas	próprias	funções	
dentro	de	um	módulo	e	inseri-lo	em	seus	programas.	O	módulo	é	um	arquivo	
Python	(modulo.py)	somente	com	definições	de	funções.	A	princípio,	este	
módulo	deve	estar	junto	ao	programa	fonte,	ou	seja,	na	mesma	localização.	
	
#---------------------------------------------------------	Luzzardi.py	
#	O	programa	testa	a	conversão	de	string	para	float	ou	inteiro		
#					sem	erro	na	entrada	de	dados	com	input	
#	-------------------------------------------------------------------	
	
def	REAL(s):	
				n	=	len(s)	
				temLetras	=	False	
				for	i	in	range(n):	
								if	s[i]	==	',':	
												s	=	s.replace(',',	'.')		 #	converte	vírgula	em	ponto	
								if	s[i]	==	'-'	and	i	!=	0:	 #	verifica	sinal	negativo	
												temLetras	=	True;	
												break	
								if	s[i]	not	in	['.',	'-',	'0',	'1',	'2',	'3',	'4',	'5',	'6',	'7',	'8','9']:	
	 #	verifica	caracteres	não	numéricos	
											temLetras	=	True	
											break	
				if	not	temLetras:	
								numero	=	float(s)	
								return(numero)	
				else:	
								print("ERRO:	Conversão	Inválida")	
								return(-1)	 #	retorna	um	valor	inválido
58
def	INTEIRO(s):	
				n	=	len(s)	
				temLetras	=	False	
				for	i	in	range(n):	
								if	s[i]	==	'-'	and	i	!=	0:	
												temLetras	=	True;	
												break	
								if	s[i]	not	in	['-',	'0',	'1',	'2',	'3',	'4',	'5',	'6',	'7',	'8','9']:	
											temLetras	=	True	
											break	
				if	not	temLetras:	
								numero	=	int(s)	
								return(numero)	
				else:	
								print("ERRO:	Conversão	Inválida")	
								return(-1)	
	
#	----------------------------------------	Modulo.py	
	
import	Luzzardi	 	 #	inserção	do	módulo	do	programador	
	
s	=	input("Digite	um	Real:	")	
numero	=	luzzardi.REAL(s)	
if	numero	!=	-1:	
				print("Real	digitado	foi:	",	numero)	
while	numero	==	-1:	
				s	=	input("Digite	um	Real:	")	
				numero	=	luzzardi.REAL(s)	
				print("Número	digitado:	",	numero)	
					
s	=	input("Digite	um	Inteiro:	")	
numero	=	luzzardi.INTEIRO(s)	
if	numero	!=	-1:	
				print("Inteiro	digitado	foi:	",	numero)	
while	numero	==	-1:	
				s	=	input("Digite	um	Inteiro:	")	
				numero	=	luzzardi.INTEIRO(s)					
				print("Número	digitado:	",	numero)	
	
=======	RESTART:	/Users/pluzzardi/Desktop/Python/Python/Modulo.py	===	
Digite	um	Real:	1234Paulo	
ERRO:	Conversão	Inválida	
Digite	um	Real:	123,45	
Número	digitado:		123.45	
Digite	um	Inteiro:	123Paulo	
ERRO:	Conversão	Inválida	
Digite	um	Inteiro:	123	
Número	digitado:		123	
>>>	
	
24.	Tratamento	de	erros	(exceções)
59
Na execução de um programa em Python, podem ocorrer
erros não previstos que podem interromper a execução normal
do programa. Tais erros podem ser:
• Conversão numérica inválida;
• Limite de um vetor (acessar um índice inválido)
• Problemas em arquivos: abertura, criação ou caminho
(path);
• Overflow; 

• Erro de entrada e saída (input/output); 

• Divisão por zero.
Python pode assumir o controle da execução em caso que
ocorra uma situação de erro não prevista.
Isso é feito através do mecanismo de tratamento de
exceções que ao detectar uma situação de erro, o programa em
Python gera uma exceção.
Se o programa que estiver sendo executado possuir um
tratamento de exceções (try: ... except ...:), ele assume o
controle da execução. Mas se a exceção não tiver um
tratamento associado, o programa é interrompido e é exibida
uma mensagem de erro e o programa é abortado.
Uma exceção é um evento que indica uma condição anormal
que interrompe a execução normal de um programa.
O tratamento de erros no Python cria objetos da classe
error, o tratamento destes erros é feita pela manipulação
destes objetos. Analise o exemplo abaixo, aonde são testados
a conversão de string para inteiro (comando input) e raiz
quadrada de número negativo (math.sqrt()).
Tipo de Exceção: ValueError
#	--------------------------	ValueError.py	
	
import	math	
	
try:	
				num	=	int(input("Digite	um	Número:	"))	
				try:	
								raiz	=	math.sqrt(num)	
								print("Raiz	Quadrada:	",	raiz)	
				except	ValueError	as	error:	
								print("Erro:	",	error)	
except	ValueError	as	error:	
				print("Erro:	",	error)	
	
Teste	do	Programa:
60
	
========== RESTART: /Users/pluzzardi/Documents/ValueError.py =======
Digite um Número: paulo
Erro: invalid literal for int() with base 10: 'paulo'
>>>
========= RESTART: /Users/pluzzardi/Documents/ValueError.py ========
Digite um Número: -16
Erro: math domain error
>>>
======= RESTART: /Users/pluzzardi/Documents/ValueError.py =========
Digite um Número: 16
Raiz Quadrada: 4.0
>>>
O tratamento de erros em Python baseia-se no comando
try. A sintaxe é a seguinte:
try:
comando
comando
except erro:
comando
comando
A execução de um bloco de código, protegido por um
tratamento de erros, é feito colocando o bloco no try, e
para cada erro que se deseja tratar, deve-se colocar uma
cláusula except tipo_de_erro as variável_erro:
Exceções são instâncias de classes geradas quando
houver erro. Estas exceções podem ser captadas e tratadas
para que não ocorra erros em tempo de execução.
Tipo de Exceção: ZeroDivisionError
# ------------------------------- Zero.py
try:
x = float(input("Digite um Valor: "))
y = float(input("Digite outro Valor: "))
try:
divisão = x / y
print("Divisão é: ", divisão)
except ZeroDivisionError as error:
print("Erro: ", error)
except ValueError as error:
print('Erro: ', error)
Teste	do	Programa:	
======= RESTART: /Users/pluzzardi/Desktop/Python/Python/Zero.py ======
Digite um Valor: paulo
Erro: could not convert string to float: 'paulo'
>>>
======= RESTART: /Users/pluzzardi/Desktop/Python/Python/Zero.py =====
Digite um Valor: 4
Digite outro Valor: 0
61
Erro: float division by zero
>>>
Tipo de Exceção: NameError e TypeError
# ------------------------------------ NameError.py
try:
num = int(input("Valor: "))
print("Soma: ", soma + num) # soma não está definido
except NameError as error: # erro por nome
print("ERRO: ", error)
try:
a = 5
soma = 'a' + a # tipos diferentes
print("Soma: ", soma)
except TypeError as error: # erro por tipo
print("ERRO: ", error)
Teste	do	Programa:	
	
==========	RESTART:	/Users/pluzzardi/Documents/NameError.py	========	
Valor:	5	
ERRO:		name	'soma'	is	not	defined	
ERRO:		must	be	str,	not	int	
>>>	
Tipo de Exceção: IndexError
# ------------------------- LimiteVetor.py
x = [10, 20, 30, 40, 50]
n = 5
try:
i = 1
while i <= n: # erro i <= n, pois o vetor começa em ZERO
print(x[i])
i = i + 1
except IndexError as error:
print("Erro: ", error)
Teste	do	Programa:	
========= RESTART: /Users/pluzzardi/Documents/LimiteVetor.py ========
20
30
40
50
Erro: list index out of range
>>>
Tipo de Exceção: IOError (Arquivos)
# ---------------------------------------- FileCria.py
nomeArquivo = input("Nome do Arquivo: ")
try:
62
file = open(nomeArquivo, 'r')
except IOError as error:
print("Erro: ", error)
else:
print("Nome do Arquivo: ", nomeArquivo)
file.close()
Teste	do	Programa:	
========== RESTART: /Users/pluzzardi/Documents/FileCria.py ========
Nome do Arquivo: Agenda.bd
Nome do Arquivo: Agenda.bd
>>>
========== RESTART: /Users/pluzzardi/Documents/FileCria.py ==========
Nome do Arquivo: test.bd
Erro: [Errno 2] No such file or directory: 'test.bd'
>>>
25.	Banco	de	Dados	em	Python	(SQLite)	
A seguir são dados alguns exemplos de programas com
Banco de Dados (BD) em Python (SQLiteCriaBD, SQLiteLeBD,
SQLiteConsultaBD, SQLiteRemoveBD e SQLiteAppendBD). É criado
um banco de dados de uma agenda contendo id (identificador),
nome e fone utilizando o módulo SQLite3.
SQLiteCriaBD: Cria um banco de dados.
SQLiteLeBD: Faz a leitura dos registros do BD criado.
SQLiteConsultaBD: Consulta um registro através do id.
SQLiteRemoveBD: Remove um registro através do id.
SQLiteAppendBD: Anexa novos registros ao final do BD.
O programa a seguir cria um BD (Agenda.bd) com uma
tabela “agenda” com os seguintes campos: id, nome e fone.
#	------------------------	SQLiteCriaBD.py	
	
import	sqlite3	
	
nomeBD	=	input("Nome	do	Banco	de	Dados:	")	
conector	=	sqlite3.connect(nomeBD)	
cursor	=	conector.cursor()	
cursor.execute('''	
								create	table	agenda	(	
												id	integer,	 	 #	identificador	
												nome	text,	
												fone	text)	
								''')	
id	=	1	
nome	=	"Pessoa"	
while	nome	!=	"":	
				print("id:	",	id)	
				nome	=	input("Nome:	")	
				if	nome	!=	"":	
								fone	=	input("Fone:	")
63
								cursor.execute('''	
																insert	into	agenda	(id,	nome,	fone)	
																				values(?,	?,	?)	
																				''',	(id,	nome,	fone))	
								conector.commit()	
								id	=	id	+	1	
cursor.close()	
conector.close()	
print("Banco	de	Dados	foi	CRIADO:	",	nomeBD)	
	
Teste	do	Programa:	
	
======	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteCriaBD.py	=====	
Nome	do	Banco	de	Dados:	Agenda.bd	
id:	1	
Nome:	Paulo	Roberto	
Fone:	99164-8037	
id:	2	
Nome:	Adriane	Maria	
Fone:	99145-6789	
id:	3	
Nome:	Paola	Maria	
Fone:	98478-7856	
id:	4	
Nome:		
Banco	de	Dados	foi	CRIADO:		Agenda.bd	
>>>	
	
O programa a seguir faz uma leitura dos campos do banco
de dados (Agenda.bd) gerado pelo programa anterior.
	
#	--------------------------	SQLiteLeBD.py	
	
import	sqlite3					#	as	lite	
import	os	
	
nomeBD	=	input("Nome	do	Banco	de	Dados:	")	
try:	 	 	 	 	 	 	 #	tratamento	de	exceção	
				conector	=	sqlite3.connect(nomeBD)	
				cursor	=	conector.cursor()	
				numRegistros	=	0	
				cursor.execute("SELECT	*	FROM	agenda")	
				result	=	cursor.fetchall()	
				for	contato	in	result:	
									print("id:	%dnNome:	%s	nFone:	%s"	%	(contato))	
									numRegistros	+=	1	
				print(numRegistros,	"registro(s)")	
				cursor.close()	
				conector.close()	
except	sqlite3.Error	as	error:	 #	executa	quando	ocorre	um	erro	
				print("Erro:	BD	não	encontrado")	
				print("Erro:	",	error)	
				os.remove(nomeBD)			#	remove	arquivo	criado
64
	
	
Teste	do	Programa:	
	
======	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteLeBD.py	=======	
Nome	do	Banco	de	Dados:	Luzzardi.bd	
id:	1	
Nome:	Paulo	Roberto		
Fone:	99164-8037	
id:	2	
Nome:	Adriane	Maria		
Fone:	99156-4567	
id:	3	
Nome:	Paola	Maria		
Fone:	98434-1234	
3	registro(s)	
>>>	
	
O programa a seguir faz uma consulta dos campos do banco
de dados (Agenda.bd) gerados pelo programa anterior através
da leitura via teclado do identificador (id).
	
#	------------------------	SQLiteConsultaBD.py	
	
import	sqlite3,	os	
	
nomeBD	=	input("Nome	do	Banco	de	Dados:	")	
try:	
				conector	=	sqlite3.connect(nomeBD)	
				id	=	'1'	
				cursor	=	conector.cursor()	
				while	id	!=	'0':	
								id	=	input('Digite	o	índice	[0	-	Sair]:	')	
								if	id	!=	'0':	
												cursor.execute("SELECT	*	FROM	agenda	WHERE	id=?",(id))	
												result	=	cursor.fetchall()	
												achei	=	False	
												for	contato	in	result:	
																print("id:	%dnNome:	%s	nFone:	%s"	%	(contato))	
																achei	=	True	
												if	not	achei:	
																print("Erro:	Contato	não	Encontrado")	
				cursor.close()	
				conector.close()	
except	sqlite3.Error	as	error:	
				print("ERRO:	BD	não	encontrado")	
				print("Erro:	",	error)	
				os.remove(nomeBD)		 #	remove	arquivo	criado	
	
Teste	do	Programa:	
	
===	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteConsultaBD.py	====	
Nome	do	Banco	de	Dados:	Agenda.bd
65
Digite	o	índice	[0	-	Sair]:	1	
id:	1	
Nome:	Paulo	Roberto		
Fone:	99164-8037	
Digite	o	índice	[0	-	Sair]:	2	
id:	2	
Nome:	Adriane	Maria		
Fone:	99156-4567	
Digite	o	índice	[0	-	Sair]:	3	
id:	3	
Nome:	Paola	Maria		
Fone:	98434-1234	
Digite	o	índice	[0	-	Sair]:	0	
>>>	
	
O programa a seguir permite remover os campos do banco
de dados (Agenda.bd) gerados pelo programa anterior através
da leitura via teclado do identificador (id).
	
#	------------------------	SQLiteRemoveBD.py	
	
import	sqlite3,	os	
	
nomeBD	=	input("Nome	do	Banco	de	Dados:	")	
try:	
				conector	=	sqlite3.connect(nomeBD)	
				cursor	=	conector.cursor()	
				id	=	'1'	
				while	id	!=	'0':	
								id	=	input("Digite	o	índice	[0	-	Sair]:	")	
								if	id	!=	'0':	
												cursor.execute("DELETE	FROM	agenda	WHERE	id=?",(id))	
												conector.commit()	
												print("Okay,	Contato	REMOVIDO")	
				cursor.close()	
				conector.close()	
except	sqlite3.Error	as	error:	
				print("Erro:	BD	não	encontrado")	
				print("Erro:	",	error)	
				os.remove(nomeBD)	
	
Teste	do	Programa:	
	
=====	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteRemoveBD.py	====	
Nome	do	Banco	de	Dados:	Agenda.bd	
Digite	o	índice:	3	
Digite	o	índice:	0	
Okay,	Contato	REMOVIDO	
>>>		
=======	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteLeBD.py	=====	
Nome	do	Banco	de	Dados:	Agenda.bd	
id:	1	
Nome:	Paulo	Roberto
66
Fone:	99164-8037	
id:	2	
Nome:	Adriane	Maria		
Fone:	99156-4567	
>>>	
	
#	------------------------	SQLiteAppendBD.py	
	
import	sqlite3,	os	
	
nomeBD	=	input("Nome	do	Banco	de	Dados:	")	
try:	
				conector	=	sqlite3.connect(nomeBD)	
				cursor	=	conector.cursor()	
	
				id	=	1	
				cursor.execute("SELECT	*	FROM	agenda")	
				result	=	cursor.fetchall()	
				for	contato	in	result:	
								id	+=	1	
	
				nome	=	"Pessoa"	
				while	nome	!=	"":	
								print("id:	",	id)	
								nome	=	input("Nome:	")	
								if	nome	!=	"":	
												fone	=	input("Fone:	")	
												cursor.execute('''	
																				INSERT	INTO	agenda	(id,	nome,	fone)	
																								values(?,	?,	?)	
																								''',	(id,	nome,	fone))	
												conector.commit()	
												id	=	id	+	1	
				cursor.close()	
				conector.close()	
except	sqlite3.Error	as	error:	
				print("Erro:	BD	não	encontrado")	
				print("Erro:	",	error)	
				os.remove(nomeBD)	
	
Teste	do	Programa:	
	
====	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteAppendBD.py	=====	
Nome	do	Banco	de	Dados:	Agenda.bd	
id:		4	
Nome:	Renato	Luis	
Fone:	99134-2345	
id:		5	
Nome:	Cacaio	
Fone:	99891-3456	
id:		6	
Nome:		
>>>
67
	
Execução	do	programa	SQLiteLeBD.py	
	
=======	RESTART:	/Users/pluzzardi/Desktop/Python/SQLiteLeBD.py	=====	
Nome	do	Banco	de	Dados:	Agenda.bd	
id:	1	
Nome:	Paulo	Roberto		
Fone:	99164-8037	
id:	2	
Nome:	Adriane	Maria		
Fone:	99156-4567	
id:	3	
Nome:	Paola	Maria		
Fone:	98434-1234	
id:	4	
Nome:	Renato	Luis		
Fone:	99134-2345	
id:	5	
Nome:	Cacaio		
Fone:	99891-3456	
5	registro(s)	
>>>	
26.	Sistema	de	Arquivos	em	Python	
Python permite operar com arquivos binários e texto
através de algumas funções, tais como: open, write, read,
close, etc.
Um arquivo texto é formado de linhas de caracteres
terminados com um ‘n’. Conforme exemplo abaixo: Dados.txt.
Sintaxe do comando open: file = open(nomeArquivo, modo)
Modo: ‘r’ read (leitura)
‘w’ write (escrita)
‘a’ append (anexar no fim)
‘r+’ read e write (leitura e escrita)
‘b’ binary (binário)
Comandos para operar arquivos:
read(): Permite ler o conteúdo do arquivo.
readline(): Permite ler uma única linha do arquivo.
seek(colunas, posição): Posiciona o arquivo no ponto do
arquivo: Posição 0 é o início do arquivo, 1 é a posição do
arquivo atual e 2 é o final do arquivo.
write(string): Grava o conteúdo da string para o arquivo,
retornando o número de caracteres escritos.
close(): Fecha o arquivo aberto.
Arquivo texto: Dados.txt
68
1;Paulo Roberto;99164-8037;
2;Adriane Maria;99156-2345;
3;Paola Freitas;98678-1234;
	
# -------------------------------------- FileLeTexto.py
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, "r")
for linha in file:
campos = linha.split(';')
print(campos)
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
======== RESTART: /Users/pluzzardi/Documents/FileLeTexto.py ======
Nome do Arquivo: Dados.txt
['1', 'Paulo Roberto', '99164-8037', 'n']
['2', 'Adriane Maria', '99156-2345', 'n']
['3', 'Paola Freitas', '98678-1234', 'n']
>>>
	
# ------------------------------- FileLeDadosTexto.py
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, "r")
for linha in file:
campos = linha.split(';')
print("id: ", campos[0])
print("Nome: ", campos[1])
print("Fone: ", campos[2])
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
====== RESTART: /Users/pluzzardi/Documents/FileLeDadosTexto.py =====
Nome do Arquivo: Dados.txt
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
id: 2
Nome: Adriane Maria
Fone: 99156-2345
id: 3
Nome: Paola Freitas
Fone: 98678-1234
>>>
	
Teste	do	Programa:	(Arquivo	texto	não	existe)	
	
====== RESTART: /Users/pluzzardi/Documents/FileLeDadosTexto.py ====
Nome do Arquivo: Dados.bd
ERRO: [Errno 2] No such file or directory: 'Dados.bd'
>>>
69
	
# -------------------------------------- FileAnexaTexto.py
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, 'r')
id = 1
for linha in file:
id = id + 1 # contar o número de registros
file.close()
file = open(nomeFile,'a') # anexando no fim do arquivo
nome = "Pessoa"
while nome != "":
print("id: ", id)
nome = input("Nome: ")
if nome != "":
fone = input("Fone: ")
linha = str(id) + ";" + nome + ";" + fone + ";" + "n"
file.write(linha)
id = id + 1
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
======== RESTART: /Users/pluzzardi/Documents/FileAnexaTexto.py ======
Nome do Arquivo: Dados.txt
id: 3
Nome: Renato Luis
Fone: 98778-3456
Gravou dados
id: 4
Nome: Francisco Carlos
Fone: 98178-5678
Gravou dados
id: 5
Nome:
>>>
	
Listagem	do	Arquivo	alterado:	Dados.txt	
	
['1', 'Paulo Roberto', '99164-8037', 'n']
['2', 'Adriane Maria', '99156-2345', 'n']
['3', 'Paola Freitas', '98678-1234', 'n']
[‘4’;’Renato Luis’;’98778-3456’;’n’]
[‘5’;’Francisco Carlos’;’98178-5678’;’n’]
	
# ------------------------------- FileCriaTexto.py
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, 'w') # cria novo arquivo texto
id = 1 # cuidado, apaga se existir
nome = "Pessoa"
while nome != "":
print("id: ", id)
nome = input("Nome: ")
if nome != "":
70
fone = input("Fone: ")
linha = str(id) + ";" + nome + ";" + fone + ";" + "n"
file.write(linha)
id = id + 1
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
======= RESTART: /Users/pluzzardi/Documents/FileCriaTexto.py ======
Nome do Arquivo: Luz.txt
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
id: 2
Nome: Renato Luis
Fone: 98778-3456
id: 3
Nome: Francisco Carlos
Fone: 98178-5678
id: 4
Nome:
>>>
	
Listagem	do	Arquivo:	Luz.txt	
	
1;Paulo Roberto;99164-8037;
2;Renato Luis; 98778-3456;
3;Francisco Carlos; 98178-5678;
	
# ------------------------------- FileProcuraDadosTexto.py
	
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, "r")
posicao = 1
while posicao != 0:
posicao = int(input("Posição [0 - Sair]: "))
file.seek(0, 0) # reinicializa o cursor do arquivo no início
imprimiu = False
for linha in file:
campos = linha.split(';')
if campos[0] == str(posicao):
imprimiu = True
print("id: ", campos[0])
print("Nome: ", campos[1])
print("Fone: ", campos[2])
if not imprimiu:
print("Erro: Registro não encontrado")
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
RESTART:
/Users/pluzzardi/Desktop/Python/Python/File/FileProcuraDadosTexto.py
Nome do Arquivo: Dados.txt
Posição [0 - Sair]: 1
71
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
Posição [0 - Sair]: 2
id: 2
Nome: Adriane Maria
Fone: 99156-2345
Posição [0 - Sair]: 3
id: 3
Nome: Paola Freitas
Fone: 98678-1234
Posição [0 - Sair]: 4
id: 4
Nome: Renato Luis
Fone: 98778-3456
Posição [0 - Sair]: 5
id: 5
Nome: Francisco Carlos
Fone: 98178-5678
Posição [0 - Sair]: 6
Erro: Registro não encontrado
Posição [0 - Sair]: 7
Erro: Registro não encontrado
Posição [0 - Sair]: 8
Erro: Registro não encontrado
Posição [0 - Sair]: 9
Erro: Registro não encontrado
Posição [0 - Sair]: 0
Erro: Registro não encontrado
>>>
	
# ------------------------------------ FileBuscaDadosTexto.py
nomeFile = input("Nome do Arquivo: ")
try:
file = open(nomeFile, "r")
nome = "Pessoa"
while nome != "":
nome = input("Nome: ")
file.seek(0, 0)
imprimiu = False
for linha in file:
campos = linha.split(';')
if nome == campos[1]:
imprimiu = True
print("id: ", campos[0])
print("Nome: ", campos[1])
print("Fone: ", campos[2])
if not imprimiu:
print("Erro: Nome não encontrado")
file.close()
except IOError as error:
print("ERRO: ", error)
	
Teste	do	Programa:	
	
RESTART:
/Users/pluzzardi/Desktop/Python/Python/File/FileBuscaDadosTexto.py
Nome do Arquivo: Dados.txt
Nome: Paulo
Erro: Nome não encontrado
72
Nome: Paulo Roberto
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
Nome: Renato Luis
id: 4
Nome: Renato Luis
Fone: 98778-3456
Nome:
Erro: Nome não encontrado
>>>
29.	Arquivos	Binários	em	Python	
	
Como foi visto no capítulo 26, Python permite operar com
arquivos binários e textos através de algumas funções, tais
como: open, write, read, close, etc.
Enquanto um arquivo texto é formado de linhas de
caracteres terminados com um ‘n’, um arquivo binário possui
campos de vários tipos, tais como: inteiro, real, string,
etc.
	
pickle é um módulo do Python que permite a serialização de
objetos, ou seja, transforma objetos em sequências de bytes.
Outros módulos similares podem ser utilizados, tais como:
Marshal, Struct (como na linguagem C), JSON e Shelve.
Exemplo de um programa em Python que grava em um arquivo
binário: teste.bin os seguintes campos: nome (string),
telefone (string) e idade (inteiro).
	
# ........................ GravaBin.py
import pickle
nomeArquivo = input("Nome do Arquivo Binário: ")
try:
file = open(nomeArquivo, "rb")
file.close()
ch = input("Atenção: Arquivo já existe, sobre-escrever [s/n]")
if ch == "S" or ch == "s":
try:
file = open(nomeArquivo, "wb")
except IOError as error:
print("Erro: Impossível criar o arquivo: %s" %nomeArquivo)
n = int(input("Número de Elementos: "))
pickle.dump(n, file)
for i in range(n):
nome = input("Nome: ")
pickle.dump(nome, file)
telefone = input("Telefone: ")
pickle.dump(telefone, file)
idade = int(input("Idade: "))
pickle.dump(idade, file)
file.close()
except IOError as error:
73
print("Atenção: Arquivo não existe")
try:
file = open(nomeArquivo, "wb")
except IOError as error:
print("Erro: Impossível criar o arquivo: %s" %nomeArquivo)
n = int(input("Número de Elementos: "))
pickle.dump(n, file)
for i in range(n):
nome = input("Nome: ")
pickle.dump(nome, file)
telefone = input("Telefone: ")
pickle.dump(telefone, file)
idade = int(input("Idade: "))
pickle.dump(idade, file)
file.close()
	
Observação:	Note	que	o	número	de	elementos	também	é	salvo	no	arquivo	binário,	para	
depois	ser	lido	no	programa	que	carrega	o	arquivo	binário.		
	
Teste	do	Programa:	
	
Nome	do	Arquivo	Binário:	teste.bin	<enter>	
Número	de	Elementos:		3	<enter>	
Nome:		Paulo	Roberto	<enter>	
Telefone:		99164-8037	<enter>	
Idade:		56	<enter>	
Nome:		Adriane	Maria	<enter>	
Telefone:		99156-3334	<enter>	
Idade:		48	<enter>	
Nome:		Paola	Freitas	<enter>	
Telefone:		99167-4567	<enter>	
Idade:		19	<enter>	
	
# ........................ LeBin.py
import pickle
nomeArquivo = input("Nome do Arquivo Binário: ")
try:
file = open(nomeArquivo, "rb")
n = pickle.load(file)
print("Número de Elementos: ", n)
for i in range(n):
nome = pickle.load(file)
print("Nome: ", nome)
telefone = pickle.load(file)
print("Telefone: ", telefone)
idade = pickle.load(file)
print("Idade: ", idade)
file.close()
except IOError as error:
print('Atenção: Arquivo não Existe', nomeArquivo)
print(error)
	
Teste	do	Programa:	
	
Nome	do	Arquivo	Binário:	teste.bin	<enter>
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python
Algoritmos e Programação em Python

Mais conteúdo relacionado

Semelhante a Algoritmos e Programação em Python

Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03thomasdacosta
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoFelipeDi
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoWeldir Fernando Dias
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoandreluizlugon
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar pythonLourenço Junior
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Marco Mendes
 
Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]Marco Mendes
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoUbirajara Cavaco
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfValter moreira
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Marco Mendes
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Marco Mendes
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 

Semelhante a Algoritmos e Programação em Python (20)

Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
 
Atpaula3 150906041855-lva1-app6892
Atpaula3 150906041855-lva1-app6892Atpaula3 150906041855-lva1-app6892
Atpaula3 150906041855-lva1-app6892
 
Python3
Python3Python3
Python3
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
 
Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]Porque Python - PythonBrasil[6]
Porque Python - PythonBrasil[6]
 
Aprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalhoAprenda a programar-luciano_ramalho
Aprenda a programar-luciano_ramalho
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Por que Python? Latinoware 2011
Por que Python? Latinoware 2011Por que Python? Latinoware 2011
Por que Python? Latinoware 2011
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011Por que Python? IFC Concórdia 2011
Por que Python? IFC Concórdia 2011
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 

Último

10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfdanielemarques481
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfMarcos Boaventura
 

Último (7)

10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
 

Algoritmos e Programação em Python