Você está na página 1de 17

Curso de Python

Roman Zaikin
Tradução: Luli Rosenberg & Helton Wernik

Pythonde
Curso - Itsafe
Python - ITSafe Roman Zaikin
Quem somos
• Ministramos cursos de cyber ao redor do mundo.
• Palestrantes em conferências internacionais.
• Pesquisadores de cyber na Check Point entre outras.
• Adoramos aprender novas tecnologias.
• :)

Advance Web Penetration Testing Roman Zaikin


Trabalho com dicionários - dictionary
Uma variável de dicionário é uma variável muito conveniente e útil, usa
ndo um dicionário podemos definir uma chave e um valor para que po
ssa ser pesquisado por chave e não por localização como na lista.
dict = {"one": 1, "two": 2, "three": 3} print (dict.keys())

print (dict["one"]) print (dict.values())

dict["one"] = 7 dict = {"name": "roman", "Age": 30}

dict["four"] = 4 dict2 = {"lastname": "zaikin"}

Python - Itsafe Roman Zaikin


Criação de listas através do comando range
Quando queremos criar uma lista de números, usamos o comando
range, uma lista de números é útil em um loop quando queremos
realizar alguma ação várias vezes.

print (list(range(10)))
print (range(2,100))
print (range(5,10,2))
print (range(100,10,-1))

Python - Itsafe Roman Zaikin


Loop do tipo for
Quando queremos realizar uma ação mais de uma vez, devemos
realizar um loop. 
Por exemplo, queremos somar todos os números do dígito 5 ao dígito
inserido por um usuário, que terá a seguinte aparência:
numero = int(input("Insira um numero > "))
for i in range(5, numero):
    print(i)

Por exemplo, gostaríamos de imprimir todas as variáveis na lista,


usaremos um loop:
comida = ["maca", "banana", "uva", "laranja"]
for i in comida:
    print(i)

Python - Itsafe Roman Zaikin


Loop do tipo while
Um loop do tipo while é executado enquanto a condição no loop seja
atendida, então as operações podem ser realizadas várias vezes, como
no loop for.
numero = int(input("Quantas vezes vc quer imprimir o loop? "))

while numero > 0:


    print ("loop")
    numero = numero -1

Quando não soubermos quantas vezes precisamos executar o loop,


usaremos um loop infinito e o comando break dessa maneira:
while True:
    corra = input("Vc quer para? [S]im/[N]ao")
    if corra == "Sim" or corra == "S":
        break
Python - Itsafe Roman Zaikin
Loops - continuação
Além do comando break, existem mais 2 comandos:
continue - continua para a próxima execução.
  pass - continua a executar o código.

Por exemplo, gostaríamos de somar todos os números menores que 5


em apenas 4 execuções.
soma = 0
for i in range(4):
    numero = int(input("Insira um numero menor que 5 > "))
    if numero > 5:
        continue

    soma += numero 

print (soma)

Python - Itsafe Roman Zaikin


Exercício
Construa o jogo Adivinhe o número, as regras do jogo:

1. Seu sistema deve sortear um número usando o seguinte comando:


import random
rand = random.randint(1,1000)

2. O usuário deve tentar adivinhar o número sorteado. A cada


palpite o seu sistema retornará ao usuário se seu palpite foi maior ou
menor que o número sorteado.
3. Depois de adivinhar o número, o sistema deve imprimir a
quantidade de tentativas necessárias para o usuário adivinhar o
número. 

Python - Itsafe Roman Zaikin


Loops com dicionários
Se quisermos usar um loop em um dicionário, temos várias opções:
• Keys () - Executando apenas em chaves, esta é a opção padrão.
• Values () - é executado nos valores (conteúdo) em vez das chaves.
• items () - é executado nas chaves e valores ao mesmo tempo.
O código ficará assim:
dict = {"nome":"roman","sobrenome":"zaikin","idade":30}
for keys in dict.keys():
    print (keys)

for values in dict.values():


    print (values)

for key,value in dict.items():


    print (key,value)
Python - Itsafe Roman Zaikin
Adicionar else ao loop
Adicionar else a loops é menos usado durante o desenvolvimento
padrão, na maioria dos casos você não usará esse método de
desenvolvimento. Você pode adicionar else tanto ao loop for quanto
ao loop while.
Tomemos por exemplo o seguinte caso, no próximo caso queremos
imprimir apenas se o usuário concordou em realizar uma ação 3
vezes. O código ficará assim:
for i in range(3):
    concorda = input("Vc concorda com os termos? S/N")
    if concorda == "N":
        break
else:
    print ("O usuario concorda com os termos 3 vezes, portanto, tem permissao.")

Python - Itsafe Roman Zaikin


Funções - Functions
As funções vieram para resolver um problema de programação. Quando
escrevemos as mesmas linhas de código mais de uma vez, causamos uma
redundância. Para encurtar o código e realizar uma programação ordenada,
é possível mover essas linhas de código para uma função.
O termo comum no campo de desenvolvimento para isso é DRY (seco), que
significa Don't Repeat Yourself (não se repita).
def ola():
    texto = input("Qual seu nome? ")
    print ("Ola, "+ texto)

ola()
ola()
ola()

Python - Itsafe Roman Zaikin


Funções - Functions
Com funções podem ser passados parâmetros e também retornar um valor
da função. Definimos a quantidade de parâmetros usando variáveis para a
função e retornamos um valor usando return.

Uma função com parâmetros:


def soma(numero1, numero2, numero3):
    resultado = numero1 + numero2 +numero3
    print (resultado)

soma(10,20,30)

Python - Itsafe Roman Zaikin


Funções - Functions
Uma função que retorna um valor:
def soma(numero1, numero2, numero3):
    resultado = numero1 + numero2 +numero3
    return resultado

dados = soma(10,20,30)
print ("A soma dos numeros eh", dados)

Observe que o comando return deve ser usado para retornar um valor.

Python - Itsafe Roman Zaikin


Funções - Functions
Função com valores predefinidos, se quisermos predefinir valores para a
função, faremos assim:

def funcao(numero1, numero2=10):

    print (numero1 * numero2)


    return numero1 * numero2

funcao(2)

Python - Itsafe Roman Zaikin


Funções – Functions –Trabalho avançado
Quando queremos escrever uma função que recebe uma quantidade
indefinida de valores, usamos os comandos:
• test_args(f_arg,
def *args *argv):
    print ("primeiro arg:", f_arg)
• if**kwargs
    argv is not None:
        print (argv)

def test_kwargs(**kwargs):
    if kwargs is not None:
        print (kwargs)

test_args("roman", "zaikin", "we", "learn", "python")


test_kwargs(name="roman", lastname="zaikin", age=30)

Python - Itsafe Roman Zaikin


Exercício
Construa uma função de calculadora que obtenha 2 valores e uma operação
matemática (adição, subtração, multiplicação ou divisão) na função para
retornar o resultado.

Observe que a função não deve permitir a divisão por 0 porque esta é uma
operação matematicamente inválida.

Python - Itsafe Roman Zaikin


Exercício
Construa uma função de calculadora que obtenha 2 valores e uma operação
matemática (adição, subtração, multiplicação ou divisão) na função para
retornar o resultado.

Observe que a função não deve permitir a divisão por 0 porque esta é uma
operação matematicamente inválida.

‫קורס פייתון בהייטק‬ ‫רומן זאיקין‬

Você também pode gostar