77
Computa¸ ao 1 - Python Aula 3 - Te´ orica Tipos de dados, Strings, Estrutura Condicional Jo˜ ao Carlos, Carla Delgado, Ana Luisa Duboc 1/ 36

Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Embed Size (px)

Citation preview

Page 1: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Computacao 1 - Python

Aula 3 - Teorica

Tipos de dados, Strings, Estrutura Condicional

Joao Carlos, Carla Delgado, Ana Luisa Duboc

1/ 36

Page 2: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Tipos de Dados - Dados Numericos

Numeros Inteiros: int / long

Ponto Flutuante: float

Numeros Complexos: complex

Operacoes com dados de um mesmo tipo tendem a gerarresultados do mesmo tipo dos operandos.

Operacoes com dados de diferentes tipos geram resultados dotipo mais complexo.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

2/ 36

Page 3: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 36

Page 4: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

4/ 36

Page 5: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 ’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

4/ 36

Page 6: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 ’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

5/ 36

Page 7: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

6/ 36

Page 8: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

String

Escreva uma funcao que receba como parametro o nome e a idadede uma pessoa, 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 idadedo usuario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

7/ 36

Page 9: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

String

Escreva uma funcao que receba como parametro o nome e a idadede uma pessoa, 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 idadedo usuario.

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 . ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

7/ 36

Page 10: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

8/ 36

Page 11: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

9/ 36

Page 12: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Relacoes e Expressoes Booleanas

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

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

Expressoes Booleanas: Retornam como resultado de sua avaliacao osvalores verdadeiro (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 booleanascompostas de operadores relacionais e operadores logicos.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

10/ 36

Page 13: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Relacoes e Expressoes Booleanas

Ordem de Precedencia: do maior para o de menor precedencia

1 ∗∗

2 ∗, /, //,%

3 +,−

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

5 not

6 and

7 or

Joao Carlos, Carla Delgado, Ana Luisa Duboc

11/ 36

Page 14: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numeropassado como parametro seja par, e False caso contrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

12/ 36

Page 15: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numeropassado como parametro 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

12/ 36

Page 16: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numeropassado como parametro 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

12/ 36

Page 17: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numeropassado como parametro seja ımpar, e False caso contrario. Use afuncao 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

13/ 36

Page 18: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Faca uma funcao booleana que retorne True caso o numeropassado como parametro seja ımpar, e False caso contrario. Use afuncao 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 )

Joao Carlos, Carla Delgado, Ana Luisa Duboc

13/ 36

Page 19: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

14/ 36

Page 20: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

15/ 36

Page 21: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ouigual a 18 e False caso contrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

16/ 36

Page 22: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ouigual a 18 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 umtriangulo equilatero e False caso contrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

16/ 36

Page 23: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dada uma idade retorna True se a idade for maior ouigual a 18 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 umtriangulo equilatero 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

16/ 36

Page 24: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes BooleanasDefina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False casocontrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 36

Page 25: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes BooleanasDefina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False casocontrario.

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 36

Page 26: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes BooleanasDefina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False casocontrario.

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 36

Page 27: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes BooleanasDefina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False casocontrario.

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?

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 36

Page 28: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes BooleanasDefina uma funcao booleana que dados 3 numeros retorna True se eles formam um triangulo isoseles e False casocontrario.

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) )

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 36

Page 29: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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) )

Joao Carlos, Carla Delgado, Ana Luisa Duboc

18/ 36

Page 30: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retornaTrue se ele for maior ou igual a zero e False caso contrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

19/ 36

Page 31: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retornaTrue se ele for 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 ef o r maior 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

19/ 36

Page 32: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Expressoes Booleanas

Defina uma funcao booleana que dado um numero (inteiro ou float) retornaTrue se ele for 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 ef o r maior 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

19/ 36

Page 33: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna astring “X e positivo” caso X seja um numero positivo, e “X nao e positivo” casocontrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

20/ 36

Page 34: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna astring “X e positivo” caso X seja um numero positivo, e “X nao e positivo” casocontrario.

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 ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

20/ 36

Page 35: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna astring “X e positivo” caso X seja um numero positivo, e “X nao e positivo” casocontrario.

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 >

Joao Carlos, Carla Delgado, Ana Luisa Duboc

20/ 36

Page 36: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que, dado um numero inteiro X passado como parametro, retorna astring “X e positivo” caso X seja um numero positivo, e “X nao e positivo” casocontrario.

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).

Joao Carlos, Carla Delgado, Ana Luisa Duboc

20/ 36

Page 37: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional Composta

Joao Carlos, Carla Delgado, Ana Luisa Duboc

21/ 36

Page 38: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

22/ 36

Page 39: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

22/ 36

Page 40: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

22/ 36

Page 41: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

22/ 36

Page 42: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

23/ 36

Page 43: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

23/ 36

Page 44: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

23/ 36

Page 45: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

23/ 36

Page 46: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

24/ 36

Page 47: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

24/ 36

Page 48: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

24/ 36

Page 49: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

24/ 36

Page 50: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

25/ 36

Page 51: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que determina se um numero inteiro X passado comoparametro e positivo, negativo ou zero. O valor de retorno da funcao deve seruma 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 ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

25/ 36

Page 52: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 53: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 54: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 55: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 56: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 57: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

26/ 36

Page 58: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

27/ 36

Page 59: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

27/ 36

Page 60: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

27/ 36

Page 61: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

27/ 36

Page 62: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

27/ 36

Page 63: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 64: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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):

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 65: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 66: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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:

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 67: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 :

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 68: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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’

Joao Carlos, Carla Delgado, Ana Luisa Duboc

28/ 36

Page 69: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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 ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

29/ 36

Page 70: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna suaidade. Caso a pessoa esteja fazendo aniversario, alem da idade, deve serretornado uma mensagem 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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

30/ 36

Page 71: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna umastring que informe a idade do usuario e uma mensagem de parabens caso eleesteja fazendo aniversario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

31/ 36

Page 72: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

Faca uma funcao que dada a data de nascimento de uma pessoa, retorna umastring que informe a idade do usuario e uma mensagem de parabens caso eleesteja fazendo aniversario.

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 . ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

31/ 36

Page 73: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

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

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

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

Joao Carlos, Carla Delgado, Ana Luisa Duboc

32/ 36

Page 74: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Estrutura Condicional

4. Faca uma funcao que receba como entrada tres numeros e retorne omaior deles. Caso os tres numeros sejam iguais, retorne “Os numeros saoiguais”.Faca o chines da 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 naoesteja entre 0 e 10, retornar mensagem de “nota invalida”.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

33/ 36

Page 75: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

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” casocontrario.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

34/ 36

Page 76: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Autores

Joao C. P. da Silva Lattes

Carla Delgado Lattes

Ana Luisa Duboc Lattes

Colaboradores

Fabio Mascarenhas Lattes

Anamaria Martins Moreira Lattes

Leonardo de Oliveira Carvalho Lattes

Charles Figueiredo de Barros Lattes

Fabrıcio Firmino de Faria Lattes

Joao Carlos, Carla Delgado, Ana Luisa Duboc

35/ 36

Page 77: Computação 1 - Python Aula 3 - Teórica Tipos de dados ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula3_teorica.pdf · Computac˜ao 1 - Python Aula 3 - Teo´rica Tipos de

Computacao 1 - Python

Aula 3 - Teorica

Tipos de dados, Strings, Estrutura Condicional

Joao Carlos, Carla Delgado, Ana Luisa Duboc

36/ 36