77
Computa¸ ao I - Python Aula 3 - Te´ orica: Tipos de dados, Strings, Estrutura Condicional Jo˜ ao C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciˆ encia da Computa¸ ao - UFRJ http://www.dcc.ufrj.br/˜pythonUFRJ/ Computa¸ ao I - Python Aula 3 1 / 35

Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Computacao I - Python

Aula 3 - Teorica: Tipos de dados, Strings,Estrutura Condicional

Joao C. P. da Silva

Carla A. D. M. Delgado

Ana Luisa Duboc

Dept. Ciencia da Computacao - UFRJ

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 1 / 35

Page 2: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Dados Numericos

Em computacao, um tipo de dado e uma classificacao dos dados. Essaclassificacao determina como os dados serao armazenados e quaisoperacoes ja definidas na linguagem de programacao serao aplicaveis.

Numeros Inteiros: int

Ponto Flutuante: float

Numeros Complexos: complex

Operacoes com dados de um mesmo tipo tendem a gerar resultadosdo mesmo tipo dos operandos.

Operacoes com dados de diferentes tipos geram resultados do tipomais complexo.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 2 / 35

Page 3: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Sequencia de caracteres: str

Constantes string sao escritas usando aspas simples ou duplas

”a” ou ’a’

O operador + pode ser usado para concatenar strings

”a”+”b” e o mesmo que ”ab”

O operador ∗ pode ser usado para repetir strings

”a”*10 e o mesmo que ”aaaaaaaaaa”

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 3 / 35

Page 4: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Sequencia de caracteres: str

Podemos usar a funcao soma(x,y) para concatenar strings ?

1 de f soma ( x , y ) :2 ””” Esta e a funcao soma que dados os v a l o r e s de x e y

r e t o r n a o v a l o r de x + y”””3 r e t u r n x+y

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 4 / 35

Page 5: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Sequencia de caracteres: str

Podemos usar a funcao soma(x,y) para concatenar strings ?

1 de f soma ( x , y ) :2 ””” Esta e a funcao soma que dados os v a l o r e s de x e y

r e t o r n a o v a l o r de x + y”””3 r e t u r n x+y

1 >>> soma ( ” l a d y ” , ”bug” )2 ’ l adybug ’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 4 / 35

Page 6: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Sequencia de caracteres: str

Podemos usar a funcao soma(x,y) para concatenar strings ?

1 de f soma ( x , y ) :2 ””” Esta e a funcao soma que dados os v a l o r e s de x e y

r e t o r n a o v a l o r de x + y”””3 r e t u r n x+y

1 >>> soma (15 , ’ anos ’ )2 Traceback (most r e c e n t c a l l l a s t ) :3 F i l e ”<p y s h e l l#1>” , l i n e 1 , i n <module>4 soma (15 , ’ anos ’ )5 F i l e ”/home/ joao /Desktop /soma . py” , l i n e 6 , i n soma6 r e t u r n x+y7 TypeError : unsupport ed ope rand type ( s ) f o r +: ’ i n t ’ and ’ s t r ’89 >>> soma ( ’ 15 ’ , ’ anos ’ )

10 ’ 15 anos ’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 5 / 35

Page 7: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Conversao entre tipos de dados

Dados numericos nao sao convertidos automaticamente para o tipo string

1 >>> soma ( ’ 15 ’ , ’ anos ’ )2 ’ 15 anos ’34 >>> ”Minha i dade e ”+ 15 +” anos ”5 Traceback (most r e c e n t c a l l l a s t ) :6 F i l e ”<p y s h e l l#0>” , l i n e 1 , i n <module>7 ”Minha i dade e ”+ 15 + ” anos . ”8 TypeError : cannot c oncat enat e ’ s t r ’ and ’ i n t ’ o b j e c t s9

10 >>> ”Minha i dade e ”+ s t r ( 15) +” anos ”11 ”Minha i dade e 15 anos ”

Para converter uma string em inteiro ou float podemos usar:

1 >>> i n t ( ”15” )2 1534 >>> f l o a t ( ” 3 . 14 ” )5 3 . 14

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 6 / 35

Page 8: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

String

Escreva uma funcao que receba como parametro o nome e a idade de umapessoa, e que retorne a frase:

“Ola fulano, meu nome e Python e eu tenho x anos. ”

onde fulano e x sao, respectivamente, o nome e o dobro da idade dousuario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 7 / 35

Page 9: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

String

Escreva uma funcao que receba como parametro o nome e a idade de umapessoa, e que retorne a frase:

“Ola fulano, meu nome e Python e eu tenho x anos. ”

onde fulano e x sao, respectivamente, o nome e o dobro da idade dousuario.

1 de f o l a f u l a n o (nome , i d ade ) :2

3 ”””Funcao que r e c eb e nome e idade e e s c r e v e uma f r a s e .4 Os paramet ros de en t rada sao do t i p o ( s t r , i n t ) .5 O v a l o r de r e t o r n o e do t i p o ( s t r ) ”””6

7 r e t u r n ”Ola ”+ nome +” , meu nome e Python , e tenho ” + s t r(2∗ i d ade ) + ” anos . ”

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 7 / 35

Page 10: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Tipos de Dados - Booleano (bool)

Assume apenas dois valores: verdadeiro (True) ou falso (False)

E o tipo de dado resultante das operacoes de comparacao.

1 >>> 3>22 True3

4 >>> 10 <= 55 Fa l s e

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 8 / 35

Page 11: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Relacoes e Expressoes Booleanas

Operadores: > , < , == (igual), ! = (diferente), >= , <=

ATENCAO

X == Y : operador relacional ⇒ X E IGUAL A Y

X = Y : operador de atribuicao ⇒ ATRIBUIR A X O VALOR DE Y

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 9 / 35

Page 12: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Relacoes e Expressoes Booleanas

Relacoes: > , < , == (igual), ! = (diferente), >= , <=

Operadores Logicos: not (negacao), and (e), or (ou)

Expressoes Booleanas: Retornam como resultado de sua avaliacao os valoresverdadeiro (True) ou falso (False)

Exp 1 Exp 2 Exp 1 and Exp 2 Exp 1 or Exp 2 not Exp 1

True True True True False

True False False True False

False True False True True

False False False False True

Exp1 e Exp2 podem ser dados booleanas ou podem ser expressoes booleanas compostasde operadores relacionais e operadores logicos.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 10 / 35

Page 13: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Relacoes e Expressoes Booleanas

Ordem de Precedencia: do maior para o de menor precedencia

1 ∗∗

2 ∗, /, //,%

3 +,−

4 <,<=,>,>=, ! =,==

5 not

6 and

7 or

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 11 / 35

Page 14: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numero passado comoparametro seja par, e False caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 12 / 35

Page 15: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numero passado comoparametro seja par, e False caso contrario.

1 de f par ( numero ) :2

3 ”””Funcao Booleana que r e t o r n a True quando passamos umnumero par .

4 Parametro de Ent rada : i n t5 Va lo r de Retorno : boo l ”””6

7 r e t u r n numero%2 = = 0

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 12 / 35

Page 16: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numero passado comoparametro seja par, e False caso contrario.

1 de f par ( numero ) :2

3 ”””Funcao Booleana que r e t o r n a True quando passamos umnumero par .

4 Parametro de Ent rada : i n t5 Va lo r de Retorno : boo l ”””6

7 r e t u r n numero%2 = = 0

1 >>> par (6)2 True3

4 >>> par (1)5 Fa l s e

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 12 / 35

Page 17: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numero passado comoparametro seja ımpar, e False caso contrario. Use a funcao par(numero)definida antes.

1 de f par ( numero ) :23 ””” Funcao Booleana que r e t o r n a True quando passamos um numero par .4 Parametro de Entrada : i n t5 Va l o r de Retorno : boo l ”””67 r e t u r n numero%2 = = 0

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 13 / 35

Page 18: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numero passado comoparametro seja ımpar, e False caso contrario. Use a funcao par(numero)definida antes.

1 de f par ( numero ) :23 ””” Funcao Booleana que r e t o r n a True quando passamos um numero par .4 Parametro de Entrada : i n t5 Va l o r de Retorno : boo l ”””67 r e t u r n numero%2 = = 0

1 de f impar ( numero ) :23 ””” Funcao Booleana que r e t o r n a True quando passamos um numero impar .4 Parametro de Entrada : i n t5 Va l o r de Retorno : boo l ”””67 r e t u r n not par ( numero )

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 13 / 35

Page 19: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Calcule o resultado das seguintes expressoes, sabendo que:

os parametros A e B sao inteiros e valem 2 e 7

o parametro C e do tipo float e vale 3.5

o parametro L e booleano e vale False.

1 (2 < 5) and ((15/3) = 5)

2 (2 < 5) and ((15/3) == 5)

3 B = A ∗ C and (L or True)

4 B == A ∗ C and (L or True)

5 not L or True and (A+ B >= C)

6 ((B/A) == C) or ((B/A)! = C)

7 ((B/A) == C) or ((B/A)! = C) and L

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 14 / 35

Page 20: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Calcule o resultado das seguintes expressoes, sabendo que:

os parametros A e B sao inteiros e valem 2 e 7

o parametro C e do tipo float e vale 3.5

o parametro L e booleano e vale False.

1 (2 < 5) and ((15/3) = 5) : SyntaxError: invalid syntax

2 (2 < 5) and ((15/3) == 5) : True

3 B = A ∗ C and (L or True) : B passa a ser True

4 B == A ∗ C and (L or True) : True

5 not L or True and (A+ B >= C) : True

6 ((B/A) == C) or ((B/A)! = C) : True

7 ((B/A) == C) or ((B/A)! = C) and L : False

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 15 / 35

Page 21: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ou igual a18 e False caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 16 / 35

Page 22: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ou igual a18 e False caso contrario.

1 de f maiorDe Idade ( i dade ) :2 ””” Funcao boo l e ana que dada uma i dade r e t o r n a True se a i dade f o r maior ou i g u a l a 18 e

Fa l s e caso c o n t r a r i o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : boo l ”””56 r e t u r n i dade >=18

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um trianguloequilatero e False caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 16 / 35

Page 23: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ou igual a18 e False caso contrario.

1 de f maiorDe Idade ( i dade ) :2 ””” Funcao boo l e ana que dada uma i dade r e t o r n a True se a i dade f o r maior ou i g u a l a 18 e

Fa l s e caso c o n t r a r i o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : boo l ”””56 r e t u r n i dade >=18

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um trianguloequilatero e False caso contrario.

1 de f t r i E q u i l a t e r o (A ,B,C) :23 ””” Funcao boo l e ana que dados 3 numeros r e t o r n a True se e l e s formam um t r i a n g u l o

e q u i l a t e r o e Fa l s e caso c o n t r a r i o .4 Parametros de Entrada : f l o a t , f l o a t , f l o a t5 Va l o r de Retorno : boo l ”””67 r e t u r n A = = B = = C

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 16 / 35

Page 24: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 17 / 35

Page 25: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False caso contrario.

1 de f t r i I s o s c e l e s (A,B ,C) :23 ””” Funcao boo l e ana que dados 3 numeros r e t o r n a True se e l e s formam um t r i a n g u l o

i s o s e l e s e F a l s e caso c o n t r a r i o .4 Parametros de Entrada : f l o a t , f l o a t , f l o a t5 Va l o r de Retorno : boo l ”””67 r e t u r n (A = = B) or (A = = C) or (C = = B)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 17 / 35

Page 26: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False caso contrario.

1 de f t r i I s o s c e l e s (A,B ,C) :23 ””” Funcao boo l e ana que dados 3 numeros r e t o r n a True se e l e s formam um t r i a n g u l o

i s o s e l e s e F a l s e caso c o n t r a r i o .4 Parametros de Entrada : f l o a t , f l o a t , f l o a t5 Va l o r de Retorno : boo l ”””67 r e t u r n (A = = B) or (A = = C) or (C = = B)

1 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 2 . 0 )2 True3 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 3 . 0 )4 True

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 17 / 35

Page 27: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False caso contrario.

1 de f t r i I s o s c e l e s (A,B ,C) :23 ””” Funcao boo l e ana que dados 3 numeros r e t o r n a True se e l e s formam um t r i a n g u l o

i s o s e l e s e F a l s e caso c o n t r a r i o .4 Parametros de Entrada : f l o a t , f l o a t , f l o a t5 Va l o r de Retorno : boo l ”””67 r e t u r n (A = = B) or (A = = C) or (C = = B)

1 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 2 . 0 )2 True3 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 3 . 0 )4 True

O que fizemos errado?

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 17 / 35

Page 28: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False caso contrario.

1 de f t r i I s o s c e l e s (A,B ,C) :23 ””” Funcao boo l e ana que dados 3 numeros r e t o r n a True se e l e s formam um t r i a n g u l o

i s o s e l e s e F a l s e caso c o n t r a r i o .4 Parametros de Entrada : f l o a t , f l o a t , f l o a t5 Va l o r de Retorno : boo l ”””67 r e t u r n (A = = B) or (A = = C) or (C = = B)

1 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 2 . 0 )2 True3 >>> t r i I s o s c e l e s ( 3 . 0 , 3 . 0 , 3 . 0 )4 True

O que fizemos errado?

1 de f t r i I s o s c e l e s (A,B ,C)2 ””” Funcao boo l e ana . . . ”””3 r e t u r n ( (A = = B) and (A != C) ) or ( (A = = C) and (A != B) ) or ( (C = = B) and (A != C) )

1 de f t r i I s o s c e l e s (A,B ,C)2 ””” Funcao boo l e ana . . . ”””3 r e t u r n ( (A = = B) or (A = = C) or (C = = B) ) and ( not (A = = B = = C) )

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 17 / 35

Page 29: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

1 de f t r i I s o s c e l e s (A,B ,C)2 ””” Funcao boo l e ana . . . ”””3 r e t u r n ( (A = = B) and (A != C) ) or ( (A = = C) and (A != B) ) or ( (C = = B) and (A != C) )

1 de f t r i I s o s c e l e s (A,B ,C)2 ””” Funcao boo l e ana . . . ”””3 r e t u r n ( (A = = B) or (A = = C) or (C = = B) ) and ( not (A = = B = = C) )

1 de f t r i I s o s c e l e s (A,B ,C)23 ””” Funcao boo l e ana . . . ”””45 r e t u r n ( (A = = B) or (A = = C) or (C = = B) ) and ( not t r i E q u i l a t e r o (A,B ,C) )

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 18 / 35

Page 30: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retorna True se elefor maior ou igual a zero e False caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 19 / 35

Page 31: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retorna True se elefor maior ou igual a zero e False caso contrario.

1 de f P o s i t i v oBoo l ( n )2

3 ””” Funcao boo l eana que dado um numero r e t o r n a True se e l e f o rmaior ou i g u a l a z e r o e Fa l s e caso c o n t r a r i o .

4 Parametro de Entrada : i n t ou f l o a t5 Va lo r de Retorno : boo l ”””6

7 r e t u r n n >= 0

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 19 / 35

Page 32: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retorna True se elefor maior ou igual a zero e False caso contrario.

1 de f P o s i t i v oBoo l ( n )2

3 ””” Funcao boo l eana que dado um numero r e t o r n a True se e l e f o rmaior ou i g u a l a z e r o e Fa l s e caso c o n t r a r i o .

4 Parametro de Entrada : i n t ou f l o a t5 Va lo r de Retorno : boo l ”””6

7 r e t u r n n >= 0

1 >>> Po s i t i v oBoo l (5)2 True3 >>> Po s i t i v oBoo l (0)4 True5 >>> Po s i t i v oBoo l (−7.0)6 Fa l s e

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 19 / 35

Page 33: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna a string “Xe positivo” caso X seja um numero positivo, e “X nao e positivo” caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 20 / 35

Page 34: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna a string “Xe positivo” caso X seja um numero positivo, e “X nao e positivo” caso contrario.

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 20 / 35

Page 35: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna a string “Xe positivo” caso X seja um numero positivo, e “X nao e positivo” caso contrario.

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

Estrutura Condicional

if < expressao >:< comandos 1 >

else:< comandos 2 >

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 20 / 35

Page 36: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna a string “Xe positivo” caso X seja um numero positivo, e “X nao e positivo” caso contrario.

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

Estrutura Condicional

if < expressao >:< comandos 1 >

else:< comandos 2 >

A expressao na estrutura condicional edo tipo booleano - verdadeira (True) ou falsa (False).

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 20 / 35

Page 37: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional Composta

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 21 / 35

Page 38: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(3)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 22 / 35

Page 39: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(3)

positivo(3):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 22 / 35

Page 40: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(3)

positivo(3):if 3 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 22 / 35

Page 41: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(3)

positivo(3):if 3 > 0 :

return str(3) + ’ e positivo’else:

return str(X) + ’ nao e positivo’

’3 e positivo’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 22 / 35

Page 42: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(-5)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 23 / 35

Page 43: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(-5)

positivo(-5):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 23 / 35

Page 44: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(-5)

positivo(-5):if -5 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 23 / 35

Page 45: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(-5)

positivo(-5):if -5 > 0 :

return str(X) + ’e positivo’else:

return str(X) + ’nao e positivo’

’-5 nao e positivo’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 23 / 35

Page 46: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(0)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 24 / 35

Page 47: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(0)

positivo(0):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 24 / 35

Page 48: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(0)

positivo(0):if 0 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 24 / 35

Page 49: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f p o s i t i v o (X) :2 ””” Funcao que r e c ebe um numero i n t e i r o e de t e rm i na se e l e e p o s i t i v o .3 Parametro de Entrada : i n t4 Va l o r de Retorno : s t r ”””56 i f X > 0 :7 r e t u r n s t r (X) + ” e p o s i t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” nao e p o s i t i v o ”

>>> positivo(0)

positivo(0):if 0 > 0 :

return str(X) + ’e positivo’else:

return str(X) + ’nao e positivo’

’0 nao e positivo’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 24 / 35

Page 50: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que determina se um numero inteiro X passado como parametro epositivo, negativo ou zero. O valor de retorno da funcao deve ser uma dentre as strings“X e positivo”, “X e negativo” ou “X e zero”.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 25 / 35

Page 51: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que determina se um numero inteiro X passado como parametro epositivo, negativo ou zero. O valor de retorno da funcao deve ser uma dentre as strings“X e positivo”, “X e negativo” ou “X e zero”.

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 25 / 35

Page 52: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 53: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

def PosNegZero(0):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 54: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

def PosNegZero(0):if 0 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 55: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

def PosNegZero(0):if 0 > 0 :

return str(X) + ’ e positivo’else:

if 0 < 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 56: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

def PosNegZero(0):if 0 > 0 :

return str(X) + ’ e positivo’else:

if 0 < 0 :return str(X) + ’ e negativo’

else:return str(0) + ’e zero’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 57: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(0)

def PosNegZero(0):if 0 > 0 :

return str(X) + ’ e positivo’else:

if 0 < 0 :return str(X) + ’ e negativo’

else:return str(0) + ’e zero’

’0 e zero’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 26 / 35

Page 58: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(2)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 27 / 35

Page 59: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(2)

def PosNegZero(2):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 27 / 35

Page 60: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(2)

def PosNegZero(2):if 2 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 27 / 35

Page 61: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(2)

def PosNegZero(2):if 2 > 0 :

return str(2) + ’ e positivo’else:

if X < 0 :return str(X) + ’ e negativo’

else:return str(X) + ’e zero’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 27 / 35

Page 62: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(2)

def PosNegZero(2):if 2 > 0 :

return str(2) + ’ e positivo’else:

if X < 0 :return str(X) + ’ e negativo’

else:return str(X) + ’e zero’

’2 e positivo’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 27 / 35

Page 63: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 64: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

def PosNegZero(-5):

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 65: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

def PosNegZero(-5):if -5 > 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 66: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

def PosNegZero(-5):if -5 > 0 :

return str(X) + ’ e positivo’else:

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 67: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

def PosNegZero(-5):if -5 > 0 :

return str(X) + ’ e positivo’else:

if -5 < 0 :

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 68: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

>>> PosNegZero(-5)

def PosNegZero(-5):if -5 > 0 :

return str(X) + ’ e positivo’else:

if -5 < 0 :return str(-5) + ’ e negativo’

else:return str(X) + ’e zero’

’-5 e negativo’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 28 / 35

Page 69: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

else: ... if ⇔ elif ...:

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l s e :7 i f X < 0 :8 r e t u r n s t r (X) + ” e n e ga t i v o ”9 e l s e :

10 r e t u r n s t r (X) + ” e ze ro ”

1 de f PosNegZero (X) :2 ””” Funcao . . . ”””34 i f X > 0 :5 r e t u r n s t r (X) + ” e p o s i t i v o ”6 e l i f X < 0 : # ESTA LINHA MUDOU !7 r e t u r n s t r (X) + ” e n e ga t i v o ”8 e l s e :9 r e t u r n s t r (X) + ” e ze ro ”

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 29 / 35

Page 70: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna sua idade.Caso a pessoa esteja fazendo aniversario, alem da idade, deve ser retornado umamensagem de parabens.

Dica:Para saber a data atual, use o modulo datetime e a funcaodatetime.datetime.now().

1 >>> import da t e t ime2 >>> date t ime . da t e t ime . now ( )3 dat e t ime . da t e t ime (2015 , 6 , 10 , 18 , 52 , 58 , 305960)4 >>> date t ime . da t e t ime . now ( ) . ye a r5 20156 >>> date t ime . da t e t ime . now ( ) . month7 68 >>> date t ime . da t e t ime . now ( ) . day9 10

10 >>> date t ime . da t e t ime . now ( ) . hour11 1812 >>> date t ime . da t e t ime . now ( ) . minute13 5314 >>> date t ime . da t e t ime . now ( ) . second15 2116 >>> date t ime . da t e t ime . now ( ) . m i c ro se c ond17 151031

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 30 / 35

Page 71: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna uma string queinforme a idade do usuario e uma mensagem de parabens caso ele esteja fazendoaniversario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 31 / 35

Page 72: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna uma string queinforme a idade do usuario e uma mensagem de parabens caso ele esteja fazendoaniversario.

1 import da t e t ime2 de f i dade ( d ia , mes , ano ) :3 ””” Funcao que c a l c u l a a i dade de uma pe s soa .4 Parametros de Entrada : i n t , i n t , i n t5 Va l o r de Retorno : s t r ”””67 i f d i a = = date t ime . da t e t ime . now ( ) . day and mes = = date t ime . da t e t ime . now ( ) . month :89 r e t u r n s t r ( da t e t ime . da t e t ime . now ( ) . ye a r − ano ) + ””” anos . Parabens pe l o a n i v e r s a r i o

”””1011 e l i f ( ( mes < date t ime . da t e t ime . now ( ) . month ) or12 (mes = = date t ime . da t e t ime . now ( ) . month and d i a < date t ime . da t e t ime . now ( ) . day ) ) :1314 r e t u r n s t r ( da t e t ime . da t e t ime . now ( ) . ye a r − ano ) + ””” anos . ”””1516 e l s e :1718 r e t u r n s t r ( da t e t ime . da t e t ime . now ( ) . ye a r − ano − 1) + ””” anos . ”””

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 31 / 35

Page 73: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

1. Faca uma funcao que receba como entrada o codigo de uma mercadoria e o precoe retorne como saıda o preco da mercadoria, sendo que se o codigo for ’00’ umdesconto de 10% no preco deve ser aplicado.

2. Faca uma funcao que receba como entrada dois numeros e retorne o maior deles.Os valores sao, por definicao, diferentes entre si.

3. Faca uma funcao que receba como entrada dois numeros e retorne o maior deles.Caso os numeros sejam iguais, retorne “Os numeros sao iguais”.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 32 / 35

Page 74: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

4. Faca uma funcao que receba como entrada tres numeros e retorne o maior deles.Caso os tres numeros sejam iguais, retorne “Os numeros sao iguais”.Faca o chinesda sua funcao para as seguintes entradas:

Entrada Valor de Retorno

(92541 , 7.432 , -1) ?

(9.1 , 9.1 , 5L) ?

(-5.2 , 0 , 10) ?

5. Uma faculdade atribui mencoes aos alunos conforme a faixa de notas que tenha

atingido:

9,0 a 10: S (superior)

7,0 a 8,9: MS (medio superior)

5,0 a 6,9: M (medio)

0,0 a 4,9: MI (medio inferior)

Faca uma funcao que dada a nota retorna a mencao. Caso a nota nao esteja entre0 e 10, retornar mensagem de “nota invalida”.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 33 / 35

Page 75: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Estrutura Condicional

6. Faca uma funcao em Python que receba como entrada:

as notas P1, P2 e P3 das provas, e

a nota da avaliacao pratica AP de um aluno de computacao 1.

Sua funcao deve entao retornar a media deste aluno e uma string dizendo“aprovado” caso o aluno tenha sido aprovado, ou “reprovado” caso contrario.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 34 / 35

Page 76: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Autores

Joao C. P. da Silva Lattes

Carla Delgado Lattes

Ana Luisa Duboc Lattes

Colaboradores

Anamaria Martins Moreira Lattes

Fabio Mascarenhas Lattes

Leonardo de Oliveira Carvalho Lattes

Charles Figueiredo de Barros Lattes

Fabrıcio Firmino de Faria Lattes

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 35 / 35

Page 77: Computação I - Python Aula 3 - Teórica: Tipos de dados ... · Computac˜ao I - Python Aula 3 - Teo´rica: Tipos de dados, Strings, Estrutura Condicional Joao C. P. da Silva Carla

Computacao I - Python

Aula 3 - Teorica: Tipos de dados, Strings,Estrutura Condicional

Joao C. P. da Silva

Carla A. D. M. Delgado

Ana Luisa Duboc

Dept. Ciencia da Computacao - UFRJ

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 3 36 / 35