06 Python I Flashcards

1
Q

Define:

1) Integers
2) Float numbers
3) //
4) %

A

1) Números inteiros
2) Números decimais
3) Quociente da divisão, ex: 14 dividido por 3 é 4 (quociente) e sobra 2 (resto)
4) Resto da divisão

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Dê os símbolos das operações:

1) Adição +, Subtração -, Multiplicação *, Divisão /
2) Quociente da divisão
3) Resto da divisão
4) Potência
5) Raiz
6) Qual a ordem das operações

A

1)

2) //
3) % (module)
4) **
5) ** 1/(raiz desejada)
6) **, * e /, + e -

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Assignment: dar nome a algo
a = 10

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

a = a + a

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

a = 3 * a

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

print(a)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

X

A

X = 60

O próprio objeto pode mudar sua definição

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

1) Os nomes podem começar com número? Podem conter números a partir do segundo caracter?
2) O que substitui espaços no Python? (‘ ‘)
3) Podemos usar qualquer símbolo ao nomear objetos no Python?
4) É melhor usar lowercase ou UPPERCASE?

A

1) Não. Sim.
2) __ (underline)
3) Não. Exemplo: :’””,<>/?|!@#%^&*~-+
4) lower case. Elegante

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Defina:

1) +=
2) -=
3) *=
4) /=
5) **=
6) %=

A

mais igual, menos igual, vezes igual, dividido igual, módulo igual

x = 3

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

x += 2

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

print x

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como verificar qual o tipo de determinado objeto?

int (integers), float, str (string), list, tuple, dict (dictionary), set. bool (boolean True or False)

A

comando type( ) -> type(objectname)

(entre parênteses coloca o nome do objeto sem aspas etc)

int (integers), float, str (string), list, tuple, dict (dictionary), set, bool (boolean True or False)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

1) Defina Strings
2) Por que é melhor usar “ “ do que ‘ ‘ ao definir string?
3) Qual o comando para contar caracteres de uma string (x)?

(espaços contam como caracteres aqui)

A

1) Strings are used in Python to record text information, such as names. Strings in Python are actually a sequence, which basically means Python keeps track of every element in the string as a sequence. For example, Python understands the string “hello’ to be a sequence of letters in a specific order. This means we will be able to use indexing to grab particular letters (like the first letter, or the last letter).

This idea of a sequence is an important one in Python and we will touch upon it later on in the future.

2) Não confundir com I`m por exemplo
3) len(x)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

“String Indexing

a = Artur Faria

a[0] >>> ?1

a[-1] >>> ?2

a[1] >>> ?3

a[7:] >>> ?4

a[:5] >>> ?5

a[::-1]>>> ?6

a[3::2]>>> ?7

a*2 >>>> ?8

a + ‘concatenate’ >>>> ?9

a + ‘ ok’ >>>>>> ?10

A

“A, a, r, Faria, Artur, airaF rutrA, u ai,

?8 Artur FariaArtur Faria,

?9 Artur Fariaconcatenate

?10 Artur Faria ok

A primeira posição da esquerda pra direita é 0 e a primeira posição da direita pra esquerda é -1

x: significa daquele x em diante incluindo x

:y significa tudo até aquele y excluindo y

z: :k significa a partir de z até o fim de k em k posição
b: c:d significa de b até c de d em d

::-1 (voltar a partir do último item)

Lembrar de dar espaço na hora de acrescentar itens (concatenate)

Pode-se fazer operações de + e * com Strings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

“Formatting with the .format() method

print(‘The {} {} {}’.format(‘fox’, ‘brown’, ‘quick’)) >>>> ?1

print(‘The {2} {1} {0}’.format(‘fox’, ‘brown’, ‘quick’)) >>>> ?2

print(‘The {q} {b} {f}’.format(b=’brown’, q=’quick’, f=’fox’)) >>>>?3

result = 100/7

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

print(““The results was {r:1.3f}”“.format(r=result))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?4

A

?1: The fox brown quick - se não especificar o {} vai na ordem inicial

?2 = ?3: The quick brown fox - pode colocar por ordem ou dar nome

?4: 14.286 (x.yf) - f é o que define decimais, x é pra manter 1 (se aumentar aumenta só o espaço, mas o número inteiro sempre vai aparecer), y = número de casas decimais que queremos arredondar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

f’ method

name = Artur

age = 33.123456789
print(f’{name} is {age:1.3f} years old.’)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

A

“Artur is 33.123 years old.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define List

A

Lists

Earlier when discussing strings we introduced the concept of a sequence in Python. Lists can be thought of the most general version of a sequence in Python. Unlike strings, they are mutable, meaning the elements inside a list can be changed!

Sequence, Mutable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

1) Lista usa parênteses, colchetes ou chaves?
2) O que faz listx.append(‘apend me!’)
3) O que faz o comando listx.pop(‘‘append me!’’) após executar item 2?
4) O que faz listx.pop(-1) após executar item 2 e 3?
5) popped_item faz o que?
6) O que faz listx.sort?

popped_item = mostra o item ““alterado””

A

1) colchetes []
2) adiciona novo item ao final da lista ‘listx’
3) Nada. Mensagem de erro pois .pop() é por posição
4) Retira o último item da lista, no caso a string ‘append me!’.
5) Mostra último item retirado
6) Organiza a lista em ordem alfabética ou números ascendentes, da erro se tiver letra e número

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define Dictionary

A

We’ve been learning about sequences in Python but now we’re going to switch gears and learn about mappings in Python. If you’re familiar with other languages you can think of these Dictionaries as hash tables.

So what are mappings? Mappings are a collection of objects that are stored by a key, unlike a sequence that stored objects by their relative position. This is an important distinction, since mappings won’t retain order since they have objects defined by a key.

A Python dictionary consists of a key and then an associated value. That value can be almost any Python object.

Not sequence, Mutable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

mydict = {‘pai’:’Artur’, ‘mae’:’Marcele’, ‘filha’:’Elisa’}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mydict[filha] >>> 1?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mydict[‘filha’] >>> 2?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mydict[‘pai’, ‘mae’] >>> ?3

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mydict[‘pai][‘mae’] >>> ?4

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mydict2 = { } >>>> mydict2[‘filha’] = ‘Elisa’ >>>> mydict2[‘pai’] = ‘Artur’

>>>> mydict2 >>>> ?5

A

2? Elisa

1? 3? 4? = Error

Não vi como pegar 2 itens simultaneamente no dicionário.

Se esquecer aspas (‘x’) dá erro.

?5 {‘filha’:’Elisa’, ‘pai’:’Artur’}

.keys (chaves), .values (valores), .items (pares)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define Tuples and answer: “What is the difference from Tuples to Lists ?

Does tuples uses ( ), [] or { } ?

A

In Python tuples are very similar to lists, however, unlike lists they are immutable meaning they can not be changed. You would use tuples to present things that shouldn’t be changed, such as days of the week, or dates on a calendar.

Tuples are immutable. Can`t use .append. Can be used to avoid mistakes.

( ) - parentesis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

1) Define Set
2) How to create a Set?
3) Como adicionar item ao set?
4) list1 = [‘c’,’Artur’,’b’,1,2,2,1,2,5,4,3,2,6,7,8]

set(list1) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

A

Sets are an unordered collection of unique elements. We can construct them by using the set() function. Let’s go ahead and make a set to see how it works

set(x)

setname.add (itemname)

[1, 2, 3, 4, 5, 6, 7, 8, ‘Artur’, ‘b’, ‘c’] -> coloca números em ordem ascendente depois palavras em ordem alfabética

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cite os 2 Booleans ?

Pra que usamos “None”?

A

True or False”

We can use None as a placeholder for an object that we don’t want to reassign yet:

x = None

print (x) >>>> None

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

“What happens if you type:

%%writefile troll.txt

ahuahauhahua

ueheuheuheuh

>>>>> ?1

Como abrir o arquivo criado acima ?2

defina pwd e explique sua função ?3

myfile.read() >>>> ?4

Se executar novamente o comando acima não lê nada, tem que voltar o cursor pro início do texto com myfile.seek(0) ou executar ?2 de novo

Como ler por linhas separadas ?5

A

?1: cria um txt na mesma pasta que o ““notebook”” com huahu na primeira linha e huehueh na segunda linha

?2 = open(‘troll.txt’) Ex: myfile

?3 print working location - informa localização do arquivo

?4: lê o txt colocando tudo na mesma linha separado por \n

ahuahauhahua\nueheuheuheuh myfile.readlines()

?5: myfile.readlines()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Para abrir arquivos de pastas diferentes do ““notebook””, devemos usar / ou // ou \ ou \ ?1 Porque ?1

Como fechar um arquivo?2

Comando ““elegante”” para abrir sem precisar fechar o arquivo ?3

Tab + Shift = mode > mode=’w’, mode=’r’, mode=’a’ ?4

A

?1: \ para não confundir com \n por exemplo

?2:.close( )

?3: with open(.txt) as:

showfile = .read( ) -> pode usar outros comandos

?4:

r: Opens the file in read-only mode. Starts reading from the beginning of the file and is the default mode for the open() function.
a: Opens a file for appending new information to it. The pointer is placed at the end of the file. A new file is created if one with the same name doesn’t exist.
w: Opens in write-only mode. The pointer is placed at the beginning of the file and this will overwrite any existing file with the same name. It will create a new file if one with the same name doesn’t exist.
r+: Opens a file for reading and writing, placing the pointer at the beginning of the file.
w+: Opens a file for writing and reading.

with open(‘.txt’, mode=’: (tem que apertar enter)

showfile = mynewfile.read( ) -> pode usar outros comandos

Exemplo:

with open(‘myfile.txt’, mode=’a’) as mynewfile:

showfile.write(‘\nNEW_LINE’) >>>>

will add a new line wrote NEW_LINE. Withou \n will write NEW_LINE in the last line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

1) Define = and ==

2) Define !=

3) > (maior), < (menor), >= (?), <= (?)

A

1) = is used to assign variable

== is used to equality

2) not equal or different

3) maior ou igual / menor ou igual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

and = e (∧ )

or = e / ou (∨)

not = não (¬)

A

Símbolos matemáticos (Mathematical Thinking), Python não usa os símbolos, somente a idéia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

To control the flow of logic we use some keywords: if elif else

Define them.

A

if = se

if some_condition:

# execute some code

elif = ou se

elif some_other_condition:

# do something different

else = caso contrário

else:

# do something else

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

local = ‘x’

if local == ‘Praia’:
print(‘Estamos bem’)
elif local == ‘Escola’:
print(‘PQP temos que estudar’)
elif local == ‘Casa’:
print(‘Está na hora de descansar’)
else:
print(‘foda-se’)

>>>>>>>>>>>>>>>>>

1) x = Praia
2) x = Escola
3) x = casa
4) x = Carro

A

1) Estamos bem

2) PQP temos que estudar

3) foda-se (casa está com inicial minúscula)

4) foda-se

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

LOOPS

mylist = [1,2,3,4,5,6,7,8,9,10] >>>>

for xyz in mylist:
if xyz % 2 == 0:

 # check for even
 print(xyz)
 else:
 print(f'NOT EVEN: {xyz}') \>\>\>\>\>
A

NOT EVEN

2

NOT EVEN

4

NOT EVEN

6

NOT EVEN

8

NOT EVEN

10

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

mylist = [0,1,2,3,4,5,6,7,8,9,10]

soma = 0
for xyz in mylist:
soma = soma + xyz
print(soma)

>>>>>> ?1

soma = 0
for xyz in mylist:
soma = soma + xyz
print(soma)

>>>>>> ?2

OBS: diferença é posição do print(soma)

A

?1

55

?2

1

3

6

10

15

21

28

36

45

55

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

“for xyz in ‘Elisa é Linda’:
print(xyz)

>>>>> ?1

textinho = ‘Elisa é Linda’
for xyz in textinho:
print(xyz)
>>>>> ?2

A

?1 = ?2

E

l

i

s

a

é

l

i

n

d

a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

mylist = [(1,2), (3,4), (5,6), (7,8)]

for (a,b) in mylist:
print(b)

>>>>> ?1

mylist = [(1,2), (3,4), (5,6), (7,8)]

for a,b in mylist:
print(b)

>>>>> ?2

OBS: diferença é ( ) em a,b

A

“Tuples inside Lists

>>>>> ?1 = ?2

2

4

6

8

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

“mylist = [(2,3,5), (7,11,13), (17,19,23)]

for a,b,c in mylist:
print(b + c)

>>>>>>>>>>>>>>

A

8

24

42

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

dic = {‘k1’:1, ‘k2’:2, ‘k3’:3}
for chave,valor in dic.items():
print(valor)

>>>>>>>>>>>>>>>>>>>>>>>

A

1

2

3

(dicionário tem que lembrar do .items( ) or .keys( ) or.values( ) no fim

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

While Loops

while some_boolean_condition:

# do something

else

# do something different

1) Define:

x += 1

A

x == x += 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

x = [1,2,3]
for xyz in x:
#comment
print(‘end’) >>>>> ?1

x = [1,2,3]
for xyz in x:
#comment
pass
print(‘end’) >>>>> ?2

A

?1 Error Message

?2 end

pass: Does nothing at all.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

mystring = ‘Marcele’
for letra in mystring:
if letra == ‘a’:
continue
if letra == ‘e’:
continue
print(letra) >>>> ?1

mystring = ‘Marcele’
for letra in mystring:
if letra == ‘a’:
break
print(letra) >>>> ?2

x = 0
while x < 5:
if x == 4:
break
print(x)
x = x + 2 >>>> ?3

A

>>>> ?1

M

r

c

l

>>>> ?2
M

>>>> ?3

0

2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Define “continue” and “break”

A

continue:

Goes to the top of the closest enclosing loop.

break:

Breaks out of the current closest enclosing loop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

“for numero in range(7):
print(numero)

>>>>> ?1

for numero in range(0,12,3):
print(numero)

>>>>> ?2

list(range(0,12,3))

>>>>> ?3

A

>>>>> ?1

0

1

2

3

4

5

6

>>>>> ?2

0

3

6

9

>>>>> ?3

[0, 3, 6, 9]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

“index_contador = 0
for letra in ‘abcde’:
print(‘Na posição {} a letra é {}’.format(index_contador,letra))
index_contador += 1

>>>>>> ?1

index\_contador = 0
palavra = 'abcde'

for letra in palavra:
print(palavra[index_contador])
index_contador += 1

>>>>>> ?2

A

Na posição 0 a letra é a

Na posição 1 a letra é b

Na posição 2 a letra é c

Na posição 3 a letra é d

Na posição 4 a letra é e


a b c d e

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

palavra = ‘abcde’
for index,letra in enumerate(palavra):
print(letra)
print(‘\n’)
print(index)
print(‘\n’)
print(‘\n’)

>>>>>> ?

A

a

<>

0

<>

<>

b

<>

1

<>

<>

etc

obs: <> é só pra marcar linha, é vazio na verdade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What ““in zip”” does ?1

for troll in zip(mylist1,mylist2):
print(troll)

>>>>> ?2

list(zip(mylist1,mylist2))

>>>>> ?3

A

cria pares (““tuples””), sempre compatíveis com menor lista. Pode criar trios, quartetos, etc

2 - (1, ‘a’) (2, ‘b’) (3, ‘c’)

3 - [(1, ‘a’), (2, ‘b’), (3, ‘c’)]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

mylist = [10,20,30,40,100]

min(mylist) + max(mylist) >>>>>

A

110

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

mylist1 = [‘a’,’b’,’c’,’d’,’e’]
from random import shuffle
shuffle(mylist1)
mylist1

>>>>>>

A

[‘d’, ‘a’, ‘e’, ‘c’, ‘b’]

or

[‘e’, ‘a’, ‘c’, ‘b’, ‘d’]

or

[‘a’, ‘b’, ‘c’, ‘d’, ‘e’] ! ! ! ! ! !

etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

from random import randint
randint(0,5)

>>>>>> ?1

(quais são os resultados possíveis?)

mynum = randint(0,100) >>>>>>

mynum >>>>>> ?2

mynum >>>>>> ?3

mynum >>>>>> ?4

A

>>>>>> ?1

0 ou 1 ou 2 ou 3 ou 4 ou 5

(pega um número aleatório do intervalo definido, mas pode ser o menor ou o maior número citado no intervalo

>>>>>> ?2 = ?3 = ?4

mynum pode ser qualquer número de 0 a 100, porém ao repetir o comando “mynum” sempre vai aparecer o mesmo, ao contrário do exemplo anterior em que sempre se gera um aleatório

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

input(‘Enter your daughter name here’) >>>>>

Vai aparecer um espaço pra digitar o que eu quiser (ex: Elisa)

Out será ‘Elisa’ (String) …

resultado = input(‘Favorite Number: ‘) >>>> (digito 13)

resultado >>>>>‘13’

int(resultado) >>>>> 13

Qual a diferença do resultado da 2a e 3a linha acima ?

A

resultado cria string

int(resultado) cria integer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

mystring = ‘Elisa’
mylist = []
for letra in mystring:
mylist.append(letra)
mylist

>>>>>>>> ?1

mystring1 = ‘Marcele’
mylist1 = [letra for letra in mystring1]
mylist1

>>>>>>>> ?2

A

>>>>>>>> ?1

[‘E’, ‘l’, ‘i’, ‘s’, ‘a’]

>>>>>>>> ?2

[‘M’, ‘a’, ‘r’, ‘c’, ‘e’, ‘l’, ‘e’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

mylist = [numero**2 for numero in range(0,11+1)]
mylist >>>>>>> ?1

mylist = [numero**2 for numero in range(0,11+1) if numero%2!=0]
mylist >>>>>>> ?2

celsius = [-273,-100,0,10,20,30,40,50,100]
fahrenheit = [(9/5*temp + 32) for temp in celsius]
fahrenheit >>>>>>> ?3

A

>>>>>>> ?1 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]

>>>>>>> ?2 [1, 9, 25, 49, 81, 121]

>>>>>>> ?3 [-459.40000000000003, -148.0, 32.0, 50.0, 68.0, 86.0, 104.0, 122.0, 212.0]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

results = [x if x%2==0 else ‘ODD’ for x in range(0,11)]
results >>>>> ?

A

[0, ‘ODD’, 2, ‘ODD’, 4, ‘ODD’, 6, ‘ODD’, 8, ‘ODD’, 10]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

mylist = []
for x in [2,3,5,7]:
for y in [11,13,17,19]:
mylist.append(x*y)
mylist >>>>> ?2

mylist = [x*y for x in [2,3,5,7] for y in [11,13,17,19]]
mylist >>>>> ?3

A

?2 == ?3

[22, 26, 34, 38, 33, 39, 51, 57, 55, 65, 85, 95, 77, 91, 119, 133]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

“dicionario = {‘Pai’:’Artur’,’Mae’:’Marcele’,’Filha’:’Elisa’}
for x,y in dicionario.items():
print(y)

>>>>>>>?

A

Artur

Marcele

Elisa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

contador = 0
for letra in ‘abcde’:
print(“”{} {}”“.format(contador,letra))
contador += 1

>>>>>>>>>>

A

0 a

1 b

2 c

3 d

4 e

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

“for numero in range(1,20+1):
if numero % 15 == 0:
print(‘FizzBuzz’)
elif numero%3 == 0:
print(‘Fizz’)
elif numero%5 == 0:
print(‘Buzz’)
else:
print(numero)

>>>>>>>>>>>>>

A

1

2

Fizz

4

Buzz

Fizz

7

8

Fizz

Buzz

11

Fizz

13

14

FizzBuzz

16

17

Fizz

19

Buzz

Detalhe é: primeiro pega os múltiplos de 15 e só depois de 3 ou 5, caso contrário dá errado.

poderia ser: if numero%3 == 0 and numero%5 == 0 (na segunda linha)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

st = ‘Create a list of the first letters of every word in this string’

[palavra[0] for palavra in st.split()]

>>>>>>>

A

[‘C’, ‘a’, ‘l’, ‘o’, ‘t’, ‘f’, ‘l’, ‘o’, ‘e’, ‘w’, ‘i’, ‘t’, ‘s’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Which of the following codes are from Python or from other codes?

a) ??????????

if (x)

if(y)

code-statement;

else

another-code-statement;

b)?????????

if x:

if y:

code-statement

else:

another-code-statement

A

a) Python
b) Other codes

Python uses colon, whitespace and “Indentation”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

xxxxxxx Statements in Python allows us to tell the computer to perform alternative actions based on a certain set of results.

Verbally, we can imagine we are telling the computer:

"”Hey if this case happens, perform some action””

We can then expand the idea further with yyyyyyy and zzzzzzz statements, which allow us to tell the computer:

"”Hey if this case happens, perform some action. Else, if another case happens, perform some other action. Else, if none of the above cases happened, perform this action.””

Let’s go ahead and look at the syntax format for if statements to get a better idea of this:

xxxxxxx case1:

perform action1

yyyyyyy case2:

perform action2

zzzzzzz:

perform action3

A

X = if

Y = elif

Z = else

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

x = False

if x:

print(‘x was True!’)

xxxxxxxxxx:

print(‘I will be printed in any case where x is not true’)

>>>>>>>>>>>>>>>

I will be printed in any case where x is not true

A

xxx = else

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

loc = ‘Bank’

xxxxxxxxxx loc == ‘Auto Shop’:

print(‘Welcome to the Auto Shop!’)

yyyyyyyyyy loc == ‘Bank’:

zzzzzzzz(‘Welcome to the bank!’)

else:

print(‘Where are you?’)

>>>>>>>>>>>>>>>

Welcome to the bank!

A

X = if

Y = elif

Z = print

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

list1 = [1:10+1]

xxxxxxx yyyyyyy zzzzzzz list1:

print(num)

>>>>>>>>>>>>>>>

1

2

3

4

5

6

7

8

9

10

A

X for

Y Num

Z in

55
Q

list1 = [1,2,3,4,5,6,7,8,9,10]

for num in list1:

xxxxxxxx num % 2 == 0:

print(num)

>>>>>>>>>>>>>>>

2

4

6

8

10

A

X = if

56
Q

list1 = [1,2,3,4,5,6,7,8,9,10]

xxxxxx num yyyyyy list1:

wwwwww num % 2 == 0:

print(num)

zzzzzzzzz:

print(‘Odd number’)

>>>>>>>>>>>>>>>

Odd number

2

Odd number

4

Odd number

6

Odd number

8

Odd number

10

A

X = for

Y = in

W = if

Z = else

57
Q

list1 = [1,2,3,4,5,6,7,8,9,10]

list_sum = ?????

for num in list1:

xxxxxxxx = yyyyyyy + num

print(list_sum)

>>>>>>>>>>>>>>>

55

A

???????? == 0

X == Y == list_sum

58
Q

xxxxxx letter yyyyyy‘This is a string.’:

print(zzzzzz)

>>>>>>>>>>>>>>>

T

h

i

s

i

s

a

s

t

r

i

n

g

.

A

X = for

Y = in

Z = letter

59
Q

tup = (1,2,3,4,5)

for xxxxxxxxx in tup:

print(yyyyyyy)

>>>>>>>>>>>>>>>

1

2

3

4

5

A

X = Y, they can be any word or letter

60
Q

list2 = [(2,4),(6,8),(10,12)]

for (t1,t2) in list2:

print(xxxxxxxx)

>>>>>>>>>>>>>>>

2

6

10

A

X == t1

61
Q

dict = {‘k1’:1,’k2’:2,’k3’:3}

for xxxxxx,yyyyyyy in dict.items():

print(wwwww)

print(zzzzzzzz)

>>>>>>>>>>>>>>>

k1

1

k2

2

k3

3

list(dict.keys())

>>>>>>>>>>>>>>>

sorted(dict.values())

>>>>>>>>>>>>>>>

A

X==W e Y==Z

[‘k1’, ‘k2’, ‘k3’]

[1, 2, 3]

62
Q

x = 0

????????? x < 10:

print(‘x is currently: ‘,x)

print(‘ x is still less than 10, adding 1 to x’)

x+=1

else:

print(‘All Done!’)

>>>>>>>>>>>>>>>

x is currently: 0

x is still less than 10, adding 1 to x

x is currently: 1

x is still less than 10, adding 1 to x

x is currently: 2

x is still less than 10, adding 1 to x

x is currently: 3

x is still less than 10, adding 1 to x

x is currently: 4

x is still less than 10, adding 1 to x

x is currently: 5

x is still less than 10, adding 1 to x

x is currently: 6

x is still less than 10, adding 1 to x

x is currently: 7

x is still less than 10, adding 1 to x

x is currently: 8

x is still less than 10, adding 1 to x

x is currently: 9

x is still less than 10, adding 1 to x

All Done!

A

while

63
Q

while x < 10:

print(‘x is currently: ‘,x)

print(‘ x is still less than 10, adding 1 to x’)

x+=1

if x==3:

print(‘Breaking because x==3’)

xxxxxxxx

else:

print(‘continuing…’)

continue

>>>>>>>>>>>>>>>

x is currently: 0

x is still less than 10, adding 1 to x

continuing…

x is currently: 1

x is still less than 10, adding 1 to x

continuing…

x is currently: 2

x is still less than 10, adding 1 to x

Breaking because x==3

A

X = break

64
Q

while x < 10:

print(‘x is currently: ‘,x)

print(‘ x is still less than 10, adding 1 to x’)

x+=1

if x==3:

print(‘x==3’)

else:

print(‘continuing…’)

xxxxxxxxxxx

>>>>>>>>>>>>>>>

x is currently: 0

x is still less than 10, adding 1 to x

continuing…

x is currently: 1

x is still less than 10, adding 1 to x

continuing…

x is currently: 2

x is still less than 10, adding 1 to x

x==3

x is currently: 3

x is still less than 10, adding 1 to x

continuing…

x is currently: 4

x is still less than 10, adding 1 to x

continuing…

x is currently: 5

x is still less than 10, adding 1 to x

continuing…

x is currently: 6

x is still less than 10, adding 1 to x

continuing…

x is currently: 7

x is still less than 10, adding 1 to x

continuing…

x is currently: 8

x is still less than 10, adding 1 to x

continuing…

x is currently: 9

x is still less than 10, adding 1 to x

continuing…

A

X = continue

65
Q

list(xxxxxxxx(0,11))

>>>>>>>>>>>>>>>

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

list(xxxxxxxx(0,11, yyyyyyyy))

>>>>>>>>>>>>>>>

[0, 2, 4, 6, 8, 10]

A

X = range

Y = 2

66
Q

index_count = 0

for letter in ‘abcde’:

print(“At index {} the letter is {}”.format(index_count,letter))

index_count += 1

>>>>>>>>>>>>>>>

At index 0 the letter is a

At index 1 the letter is b

At index 2 the letter is c

At index 3 the letter is d

At index 4 the letter is e

for xyz,letter in xxxxxxxx(‘abcde’):

print(“At index {} the letter is {}”.format(xyz,letter))

>>>>>>>>>>>>>>>

At index 0 the letter is a

At index 1 the letter is b

At index 2 the letter is c

At index 3 the letter is d

At index 4 the letter is e

A

X == enumerate

67
Q

list(xxxxxxxx(‘abcde’))

>>>>>>>>>>>>>>>

[(0, ‘a’), (1, ‘b’), (2, ‘c’), (3, ‘d’), (4, ‘e’)]

A

X == enumerate

68
Q

mylist1 = [1,2,3,4,5]

mylist2 = [‘a’,’b’,’c’,’d’,’e’]

list(xxxxxxxx(mylist1,mylist2))

>>>>>>>>>>>>>>>

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’), (5, ‘e’)]

for item1, item2 in xxxxxxxx(mylist1,mylist2):

print(‘For this tuple, first item was {} and second item was {}’.format(item1,item2))

>>>>>>>>>>>>>>>

For this tuple, first item was 1 and second item was a

For this tuple, first item was 2 and second item was b

For this tuple, first item was 3 and second item was c

For this tuple, first item was 4 and second item was d

For this tuple, first item was 5 and second item was e

A

X == zip

69
Q

‘x’ in [‘x’,’y’,’z’]

>>>>>>>>>>>>>>> 1

‘x’ in [1,2,3]

>>>>>>>>>>>>>>> 2

A

True

False

OBS: Booleans

70
Q

mylist = [10,20,30,40,100]

from xxxxxxx import yyyyyyy

Mylist

>>>>>>>>>>>>>>>

[40, 10, 100, 30, 20]

A

X == random

Y == shuffle

71
Q

from random import randint

randint(0,100)

>>>>>>>>>>>>>>>

A

any number from 0 top 100 (including both 0 and 100 -> testei)

72
Q

input(‘Enter Something into this box: ‘)

>>>>>>>>>>>>>>>

A

Enter Something into this box:

_______________ (espaço para digitar)

73
Q

xxxxxx = [x for x in ‘word’]

xxxxxx

>>>>>>>>>>>>>>>

[‘w’, ‘o’, ‘r’, ‘d’]

A

X = qualquer coisa

74
Q

xxxxxx = [x**2 for x in range(0,11)]

xxxxxx

>>>>>>>>>>>>>>>

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

A

X = qualquer_coisa

75
Q

xxxxxx = [x for x in range(11) if x % 2 == 0]

xxxxxx

>>>>>>>>>>>>>>>

[0, 2, 4, 6, 8, 10]

A

X = qualquer_palavra

76
Q

celsius = [0,10,20.1,34.5]

fahrenheit = [((9/5)*xxxxxx + 32) for xxxxxx in celsius]

fahrenheit

>>>>>>>>>>>>>>>

[32.0, 50.0, 68.18, 94.1]

A

X = qualquer_palavra

77
Q

xxxxxx = [x**2 for x in [x**2 for x in range(11)]]

xxxxxx

>>>>>>>>>>>>>>>

[0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000]

A

X = qualquer_palavra

78
Q

How to get help for a list method?

Example: Help for list called lista and method called insert ?

(there are two ways)

A

help(lista.insert) >>>>>

or

lista.insert

79
Q

“Link for most useful part of ““Python wiki””?”

A

“https://docs.python.org/3.7/library/”

80
Q

What is these commands?

  • append ( )
  • count ( )
  • extend ( )
  • insert ( )
  • pop ( )
  • remove ( )
  • reverse ( )
  • sort ( )
A

Methods for a List

81
Q

“def name_function():
print(‘Hello!’)

name_function

>>>>>>>>>>> ?1

name_function()

>>>>>>>>>>> ?2

A

1 - error

2 - Hello!

82
Q

“def name_function():
‘’’
DOCSTRING: information about the function
INPUT: no input…
OUTPUT: Hello…
‘’’
print(‘Hello!’)

>>>>>>>>>>>>>

xxxxxx(yyyyyy)

>>>>>>>>>>>>>

Help on function name_function in module __main__:

name_function()

DOCSTRING: information about the function

INPUT: no input…

OUTPUT: Hello…

A

X == help

Y == name_function

(pode ser qualquer palavra na verdade)

83
Q

xxxxxx sayhello(anyword):
print(‘Hello ‘+anyword)

sayhello(‘Artur’)

>>>>>>>

Hello Artur

A

X == def

84
Q

“def sayhello(name=’NOME’):
print(‘Hello ‘+name)

>>>>>>>>>

sayhello()

>>>>>>>>> ?1

sayhello(‘Elisa)

>>>>>>>>> ?2

A

Hello NOME

Hello Elisa

85
Q

“def sayhello(name):
return ‘hello ‘+name

>>>>>>>>>>>>>>

xxxxxxx = sayhello(‘Suedy’)

>>>>>>>>>>>>>>

yyyyyyy

>>>>>>>>>>>>>>

‘hello Suedy’

A

X = Y = any word

86
Q

“def xxxxx(n1,n2):
return n1*n2

resultado = yyyyy(3,5)

resultado

>>>>>>>>>>>>

15

A

X = Y = any word

87
Q
def xxxxx(n1,n2):
 return n1\*n2
resultado = yyyyy(3,5)
resultado

>>>>>>>>>

15

A

X = Y

88
Q

What is the best / most elegant way to say:

def dogcheck(mystring):
 if 'dog' in mystring.lower():
 return True
 else:
 return False

dogcheck(‘any string’)

A
def dogcheck(mystring):
 return 'dog' in mystring.lower()

dogcheck(‘any string’)

89
Q

xxxxxxx piglatin(palavra):

letra0 = palavra[0]
if letra0 in ‘aeiou’:
pigword = palavra + ‘ay’
else:
pigword = palavra[1:] + letra0 + ‘ay’
yyyyyyy pigword

>>>>>>>>>>>>>>>>>>

piglatin(‘argentina’)

>>>>>>>>>>>>>>>>>>

‘argentinaay’

piglatin(‘brasil’)

>>>>>>>>>>>>>>>>>>

‘rasilbay’

A

X == def

Y == return

90
Q

“def greeting(name):
print(‘Hello %s’ %(name))

greeting(‘Elisa’)

>>>>>>>>>>>

Hello Elisa

Porque é preciso dos % ???

A

Não sei

91
Q
def add\_num(num1,num2):
 return num1+num2

>>>>>>>>>>>>

add_num(4,5)

>>>>>>>>>> ?1

add_num(‘one’,’two’)

>>>>>>>>>> ?2

A

?1 == 9

?2 == ‘onetwo’

92
Q

Write a function called myfunc that prints the string ‘Hello World’

A
def myfunc():
 print('Hello World')
93
Q

Define a function called myfunc that takes in a name, and prints ‘Hello Name’

A
def myfunc(name):
 print('Hello {}'.format(name))
94
Q

Define a function called myfunc that takes in a Boolean value (True or False). If True, return ‘Hello’, and if False, return ‘Goodbye’

A

def myfunc(x):
if x == True:
return ‘Hello’
else:
return ‘Goodbye’

95
Q

Define a function called myfunc that makes three arguments, x, y and z.

If z is True, return x. If z is False, return y.

A
def myfunc(x,y,z):
 if z == True:
 return x
 elif z == False:
 return y
96
Q

Define a funcion called myfunc that takes in two arguments and returns their sum of them.

A
def myfunc(x,y):
 return x+y
97
Q

Define a function called is_even that takes in one argument, and returns True if the passed-in value is even, False if it is not.

A

def is_even(x):
if x%2==0:
return True
else:
return False

98
Q

Define a function called is_greater that takes in two arguments, and returns True if the first value is greater than the second, False if it is less than or equal to the second

A
def is\_greater(x,y):
 if x\>y:
 return True
 elif x\<=y:
 return False
99
Q
def myfunc (a,b,c,d,e):
 return sum((a,b,c,d,e)) / 20

>>>>>>>>>>>>>>>>>>>

myfunc(10,20,30,40,50)

>>>>>>>>>>>>>>>>> 7.5

myfunc(10,20,30)

>>>>>>>>>>>>>>>>>> error

myfunc (10,20,30,40,50,60)

>>>>>>>>>>>>>>>>>> error

but

def myfunc (*xxxxx):

return sum(xxxxx)

myfunc then can have any numbers(members) we want!!!!

What is the standard word we use instead of xxxxx?

A

*args

args

100
Q

“def myfunc(**yyyyy):
if ‘fruit’ in yyyyy:
print(‘My fruit of choice is {}’.format(yyyyy[‘fruit’]))
else:
print(‘I did not find any fruit here’)

>>>>>>>>>>>>>>

myfunc(fruit=’apple’,veggie=’lettuce’)

>>>>>>>>>>>>>>

My fruit of choice is apple

what is the standard word we use instead of yyyyy?

(what really means is ** before first yyyyy)

why do we use this trick?

A

”**kwargs

kwargs

kwargs

Because if we don’t use, we need to use all dic keys in a function. It would have returned error message instead of ““My fruit of choice is apple’’.

101
Q

You can pass *args and **kwargs into the same function, but *args have to appear before **kwargs

def myfunc(*args, **kwargs):
if ‘fruit’ and ‘juice’ in kwargs:
print(f”“I like {‘ and ‘.join(args)} and my favorite fruit is {kwargs[‘fruit’]}””)
print(f”“May I have some {kwargs[‘juice’]} juice?””)
else:
pass
myfunc(‘eggs’,’spam’,fruit=’cherries’,juice=’orange’)

A

I like eggs and spam and my favorite fruit is cherries May I have some orange juice?

102
Q

Define a function called myfunc that takes in a string and returns a matching string where every even letter is uppercase, and every odd letter is lowercase. Assume that the incoming string only contains letters, and don`t worry about numbers, spaces or punctuation. The output string can start with either an uppercase or lowercase letter, so long as letters alternate throughout the string.

A

def myfunc(word):

result = ‘ ‘

for i,a in enumerate (word):

if i %2==1:

result+=a.upper()

else:

result+=a.lower()

return result

103
Q

“def myfunc (word):

for i,a in enumerate (word):

if i %2==1:

print (a.upper() ,end=””””)

else:

print (a.lower() ,end=””””)

myfunc (‘Anthropomorphism’)”

A

aNtHrOpOmOrPhIsM

104
Q

Define a function called myfunc that takes in an arbitrary number of arguments, and returns a list containing only those arguments that are even

A
def myfunc(\*args):
 return [num for num in args if num %2 == 0]
105
Q

Define a function called myfunc that takes in an arbitrary number of arguments, and returns the sum of those arguments.

A
def myfunc(\*troll):
 return sum(troll)
106
Q

LESSER OF TWO EVENS: Write a function that returns the lesser of two given numbers if both numbers are even, but returns the greater if one or both numbers are odd

lesser_of_two_evens(2,4) –> 2 lesser_of_two_evens(2,5) –> 5

A

def lesser_of_two_evens(a,b):
if a%2==0 and b%2==0:
if a < b:
result = a
if b < a:
result = b
else:
if a > b:
result = a
if b > a:
result = b
return result

or

def lesser_of_two_evens(a,b):
if a%2 == 0 and b%2 == 0:
return min(a,b)
else:
return max(a,b)

107
Q

ANIMAL CRACKERS: Write a function takes a two-word string and returns True if both words begin with same letter

animal_crackers(‘Levelheaded Llama’) –> True

animal_crackers(‘Crazy Kangaroo’) –> False

A
def animal\_crackers(text):
 wordlist = text.lower().split()
 first = wordlist[0]
 second = wordlist[1]
 return first[0]==second[0]

or

def animal\_crackers(text):
 wordlist = text.lower().split()
 return wordlist[0][0] == wordlist[1][0]
108
Q

MAKES TWENTY: Given two integers, return True if the sum of the integers is 20 or if one of the integers is 20. If not, return False

makes_twenty(20,10) –> True

makes_twenty(12,8) –> True

makes_twenty(2,3) –> False

A

def makes_twenty(n1,n2):
if n1+n2==20:
return True
if n1==20 or n2==20:
return True
else:
return False

or

def makes\_twenty(n1,n2):
 return (n1+n2)==20 or n1==20 or n2==20
109
Q

OLD MACDONALD: Write a function that capitalizes the first and fourth letters of a name

old_macdonald(‘macdonald’) –> MacDonald

A
def old\_macdonald(name):
 first = name[0]
 second = name[1]
 third = name[2]
 forth = name[3]
 rest = name[4:]
 return first.upper() + second + third + forth.upper() + rest

or

def old\_macdonald(name):
 half1 = name[:3]
 half2 = name[3:]
 return half1.capitalize() + half2.capitalize()
110
Q

“MASTER YODA: Given a sentence, return a sentence with the words reversed

master_yoda(‘I am home’) –> ‘home am I’ master_yoda(‘We are ready’) –> ‘ready are We’

Note: The .join() method may be useful here. The .join() method allows you to join together strings in a list with some connector string. For example, some uses of the .join() method:

>>> ""--"".join(['a','b','c']) >>> 'a--b--c'

This means if you had a list of words you wanted to turn back into a sentence, you could just join them with a single space string:

>>> "" "".join(['Hello','world']) >>> ""Hello world""

A
def master\_yoda(text):
 lista = text.split()
 inversa = lista[::-1]
 return ' '.join(inversa)
111
Q

ALMOST THERE: Given an integer n, return True if n is within 10 of either 100 or 200

almost_there(90) –> True almost_there(104) –> True almost_there(150) –> False almost_there(209) –> True

NOTE: abs(num) returns the absolute value of a number

A
def quase(n):
 if n - 100 in range (-10,11):
 return True
 elif n - 200 in range (-10,11):
 return True
 else:
 return False

or

def quase(n):

return (abs(100-n) <=10) or (abs(200-n) <= 10)

112
Q

FIND 33:

Given a list of ints, return True if the array contains a 3 next to a 3 somewhere.

has_33([1, 3, 3]) → True

has_33([1, 3, 1, 3]) → False

has_33([3, 1, 3]) → False

A
def has\_33(n):
 for l in range(0, len(n)-1):
 if n[l] == 3 and n[l+1] == 3:
 return True
 return False

or

def has\_33(n):
 for l in range(0, len(n)-1):
 if n[l:l+2] == [3,3]:
 return True
 return False
113
Q
def square(n):
 return n\*\*2

myn = [1,2,3,4,5]

>>>>>>>>>>>>>>

for item in xxxxx(square, myn):

print(item)

>>>>>>>>>>>>>>

1

4

9

16

25

list(xxxxx(square, myn))

>>>>>>>>>>>>>>

[1, 4, 9, 16, 25]

A

X = map

114
Q
def splicer(mystring):
 if len(mystring)%2==0:
 return 'Even'
 else:
 return mystring[0]

>>>>>>>>>>>>>>>>>>>>

names = [‘Artur’, ‘Elisa’, ‘Marcele’, ‘Suedy’, ‘Hélio’, ‘Heitor’]

>>>>>>>>>>>>>>>>>>>>

list(xxxxx(splicer, names))

>>>>>>>>>>>>>>>>>>>>

[‘A’, ‘E’, ‘M’, ‘S’, ‘H’, ‘Even’]

A

X = map

115
Q
def check\_even(num):
 return num%2 == 0

mynums = [1,2,3,4,5,6]

>>>>>>>>>>>

list(xxxxxx(check_even,mynums))

>>>>>>>>>>>

[2, 4, 6]

for n in xxxxxx(check_even,mynums):
print(n)

>>>>>>>>>>>

2

4

6

A

X = filter

116
Q

The following functions are equivalents. What substitutes X?

def square(num): return num ** 2

square = xxxxxx num: num**2”

A

X = lambda

117
Q

myn = [1,2,3,4,5]

>>>>>>>>>>>>>>

def square(n):
 return n\*\*2

list(map(square, myn))

>>>>>>>>>>>>>>

[1, 4, 9, 16, 25]

list(map(xxxxxx n: n**2,myn))

>>>>>>>>>>>>>>

[1, 4, 9, 16, 25]

A

X = lambda

118
Q

what makes the following 2 and 3 expressions equivalent?

mynums = [1,2,3,4,5,6]

>>>>>>>>>>>>>>>>>>>>>

def check\_even(num):
 return num%2 == 0

list(filter(check_even,mynums))

>>>>>>>>>>>>>>>>>>>>>

list(filter(xxxxx num: num%2==0, mynums))

>>>>>>>>>>>>>>>>>>>>>

A

X = lambda

119
Q

“PAPER DOLL: Given a string, return a string where for every character in the original there are three characters

paper_doll(‘Hello’) –> ‘HHHeeellllllooo’

paper_doll(‘Mississippi’) –> ‘MMMiiissssssiiippppppiii’

A

def paper_doll(text):

result = ‘’

for letra in text:

result += letra*3

return result

120
Q

BLACKJACK: Given three integers between 1 and 11, if their sum is less than or equal to 21, return their sum. If their sum exceeds 21 and there’s an eleven, reduce the total sum by 10. Finally, if the sum (even after adjustment) exceeds 21, return ‘BUST’

blackjack(5,6,7) –> 18

blackjack(9,9,9) –> ‘BUST’

blackjack(9,9,11) –> 19

A

def blackjack(a,b,c):

if sum((a,b,c)) <= 21:

return sum((a,b,c))

elif sum((a,b,c)) <=31 and 11 in (a,b,c):

return sum((a,b,c)) - 10

else:

return ‘BUST’

121
Q

SUMMER OF ‘69: Return the sum of the numbers in the array, except ignore sections of numbers starting with a 6 and extending to the next 9 (every 6 will be followed by at least one 9). Return 0 for no numbers.

summer_69([1, 3, 5]) –> 9

summer_69([4, 5, 6, 7, 8, 9]) –> 9

summer_69([2, 1, 6, 9, 11]) –> 14

A

def summer_69(mylist):

total = 0

add = True

for num in mylist:

while add:

if num!=6:

total+=num

break

else:

add = False

while not add:

if num!=9:

break

else:

add = True

break

return total

122
Q

SPY GAME: Write a function that takes in a list of integers and returns True if it contains 007 in order

spy_game([1,2,4,0,0,7,5]) –> True

spy_game([1,0,2,4,0,5,7]) –> True

spy_game([1,7,2,0,4,5,0]) –> False

A

def spy_game(nums):

code = [0,0,7,’x’]

# [0,7,’x’] -> [7,’x’] -> [‘x’] Lenght=1

for num in nums:

if num==code[0]:

code.pop(0)

return len(code)==1

123
Q

COUNT PRIMES: Write a function that returns the number of prime numbers that exist up to and including a given number

count_primes(100) –> 25

By convention, 0 and 1 are not prime.

A

def count_primes(num):

  • *if num <2:**
  • *return 0**
  • *primes = [2]**
  • *x = 3**
  • *while x<=num:**
  • *for y in range(3,x,2):**
  • *if x%y==0:**
  • *x+=2**
  • *break**
  • *else:**
  • *primes.append(x)**
  • *x+=2**
  • *print(primes)**
  • *return len(primes)**

Or

def count_primes(num):

  • *if num <2:**
  • *return 0**
  • *primes = [2]**
  • *x = 3**
  • *while x<=num:**
  • *for y in primes:**
  • *if x%y==0:**
  • *x+=2**
  • *break**
  • *else:**
  • *primes.append(x)**
  • *x+=2**
  • *print(primes)**
  • *return len(primes)**

124
Q

x = 25

def printer():
 x = 50
 return x
print(x)
# print(printer())

>>>>>>>>>>>>>>>>>>>

print(x) >>>>>>>>>>>>>>>>>>> XXXXX

print(printer( )) >>>>>>>>>>>> YYYYY

A

X = 25

Y = 50

Now that we have gone over writing our own functions, it’s important to understand how Python deals with the variable names you assign. When you create a variable name in Python the name is stored in a name-space. Variable names also have a scope, the scope determines the visibility of that variable name to other parts of your code.

Interesting! But how does Python know which x you’re referring to in your code? This is where the idea of scope comes in. Python has a set of rules it follows to decide what variables (such as x in this case) you are referencing in your code. Lets break down the rules:

This idea of scope in your code is very important to understand in order to properly assign and call variable names.

In simple terms, the idea of scope can be described by 3 general rules:

Name assignments will create or change local names by default.

Name references search (at most) four scopes, these are:

local

enclosing functions

global

built-in

Names declared in global and nonlocal statements map assigned names to enclosing module and function scopes.

LEGB rule!

Local > Enclosing > Global (module) > Built-in (Python)

LEGB Rule:

L: Local — Names assigned in any way within a function (def or lambda), and not declared global in that function.

E: Enclosing function locals — Names in the local scope of any and all enclosing functions (def or lambda), from inner to outer.

G: Global (module) — Names assigned at the top-level of a module file, or declared global in a def within the file.

B: Built-in (Python) — Names preassigned in the built-in names module : open, range, SyntaxError,…

125
Q

name = ‘This is a global name’

def greet():
 # Enclosing function
 name = 'Sammy'
 def hello():
 print('Hello '+name)

hello()

greet()

>>>>>>>>>>>>>>>>>>>>>>>> ???????????

A

Hello Sammy

Enclosing function locals

This occurs when we have a function inside a function (nested functions)

Note how Sammy was used, because the hello() function was enclosed inside of the greet function!

if:

print(name)

>>>>>>>>>

This is a global name

(Global)

126
Q

x = 50

def func(x):
 print('x is', x)
 x = 2
 print('Changed local x to', x)
func(x)
print('x is still', x)

>>>>>>>>>>>>>>>>>>>>>>>>>.

A

x is 50

Changed local x to 2

x is still 50

Local Variables

When you declare variables inside a function definition, they are not related in any way to other variables with the same names used outside the function - i.e. variable names are local to the function. This is called the scope of the variable. All variables have the scope of the block they are declared in starting from the point of definition of the name.

The first time that we print the value of the name x with the first line in the function’s body, Python uses the value of the parameter declared in the main block, above the function definition.

Next, we assign the value 2 to x. The name x is local to our function. So, when we change the value of x in the function, the x defined in the main block remains unaffected.

With the last print statement, we display the value of x as defined in the main block, thereby confirming that it is actually unaffected by the local assignment within the previously called function.

127
Q

x = 50

def func():
 global x
 print('This function is now using the global x!')
 print('Because of global x is: ', x)
 x = 2
 print('Ran func(), changed global x to', x)
print('Before calling func(), x is: ', x)
func()
print('Value of x (outside of func()) is: ', x)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

A

Before calling func(), x is: 50

This function is now using the global x!

Because of global x is: 50

Ran func(), changed global x to 2

Value of x (outside of func()) is: 2

The global statement

If you want to assign a value to a name defined at the top level of the program (i.e. not inside any kind of scope such as functions or classes), then you have to tell Python that the name is not local, but it is global. We do this using the global statement. It is impossible to assign a value to a variable defined outside a function without the global statement.

You can use the values of such variables defined outside the function (assuming there is no variable with the same name within the function). However, this is not encouraged and should be avoided since it becomes unclear to the reader of the program as to where that variable’s definition is. Using the global statement makes it amply clear that the variable is defined in an outermost block.

The global statement is used to declare that x is a global variable - hence, when we assign a value to x inside the function, that change is reflected when we use the value of x in the main block.

You can specify more than one global variable using the same global statement e.g. global x, y, z.

128
Q

Write a function that computes the volume of a sphere given its radius.

The volume of a sphere is given as (4/3) x (pi) x (r) x (r) x (r)

A
def vol(rad):
 vol = (4 / 3) \* 3.14159265359 \* rad \*\* 3
 return vol

or

def vol(rad):
 return (4/3)\*(3.14)\*(rad\*\*3)
129
Q

Write a function that checks whether a number is in a given range (inclusive of high and low)

A

def ran_check(num,low,high):
if low < num < high:
return ‘{} is in the range between {} and {}’.format(num, low, high)
else:
return ‘{} is not in the range between {} and {}’.format(num, low, high)
pass

or

def ran_bool(num,low,high):
if low < num < high:
return True
else:
return false

or

def ran\_check(num,low,high):
 #Check if num is between low and high (including low and high)
 if num in range(low,high+1):
 print('{} is in the range between {} and {}'.format(num,low,high))
 else:
 print('The number is outside the range.')

or

def ran\_bool(num,low,high):
 return num in range(low,high+1)
130
Q

Write a Python function that accepts a string and calculates the number of upper case letters and lower case letters.

Sample String : ‘Hello Mr. Rogers, how are you this fine Tuesday?’ Expected Output : No. of Upper case characters : 4 No. of Lower case Characters : 33

HINT: Two string methods that might prove useful: .isupper() and .islower()

A

def up_low(s):
d={‘up’:0, ‘low’:0}
for c in s:
if c.isupper():
d[‘up’]+=1
elif c.islower():
d[‘low’]+=1
else:
continue
print(s)
print(‘Numero de maiúsculas é : ‘, d[‘up’])
print(‘Numero de minúsculas é : ‘, d[‘low’])

or

def up_low(s):
d={“upper”:0, “lower”:0}
for c in s:
if c.isupper():
d[“upper”]+=1
elif c.islower():
d[“lower”]+=1
else:
pass
print(“Original String : “, s)
print(“No. of Upper case characters : “, d[“upper”])
print(“No. of Lower case Characters : “, d[“lower”])

131
Q

Write a Python function that takes a list and returns a new list with unique elements of the first list.

Sample List : [1,1,1,1,2,2,3,3,3,3,4,5]

Unique List : [1, 2, 3, 4, 5]

A
def unique\_list(lista):
 unique\_list = set(lista)
 troll = list(unique\_list)
 return troll

or

def unique_list(lst):
# Also possible to use list(set())
x = []
for a in lst:
if a not in x:
x.append(a)
return x

132
Q

Write a Python function to multiply all the numbers in a list.

Sample List : [1, 2, 3, -4] Expected Output : -24

A

def multiply(numbers):
total = numbers[0]
for n in numbers:
total *= n
return total

133
Q

Write a Python function that checks whether a passed string is palindrome or not.

Note: A palindrome is word, phrase, or sequence that reads the same backward as forward, e.g., madam or nurses run.

A

def palindrome(s):
if s == s[::-1]:
return True
else:
return False
pass

(fiz incompleto)

or

def palindrome(s):

s = s.replace(‘ ‘,’’) # This replaces all spaces ‘ ‘ with no space ‘’. (Fixes issues with strings that have spaces)
return s == s[::-1] # Check through slicing

134
Q

Write a Python function to check whether a string is pangram or not.

Note : Pangrams are words or sentences containing every letter of the alphabet at least once. For example : “The quick brown fox jumps over the lazy dog”

string.ascii_lowercase

>>>>>>>>>>>>>>>>>>>>>>>>>

‘abcdefghijklmnopqrstuvwxyz’

A

import string

def ispangram(str1, alphabet=string.ascii\_lowercase): 
 alphaset = set(alphabet) 
 return alphaset \<= set(str1.lower())