# -*- coding: utf-8 -*-
"""
Created on Wed Mar 10 13:39:36 2021
@author: Gustavo Eduardo Marcatti
"""
####----------------------------------------------------------------------####
# a) Obter os quadrados dos números inteiros de 15 até 200
####----------------------------------------------------------------------####
# for
for elemento in range(15, 201):
print(elemento, "² = ", elemento**2, sep = '')
# while
elemento = 15
while elemento <= 200:
print(elemento, "² = ", elemento**2, sep = '')
elemento += 1 # elemento = elemento + 1
####----------------------------------------------------------------------####
# b) Obter os números naturais divisíveis 4 de 0 até 199
####----------------------------------------------------------------------####
# for
# list(range(200)) = list(range(0, 200)) = list(range(0, 200, 1))
for elemento in range(200):
if elemento % 4 == 0:
print(elemento, "é divisível por 4")
# # Extra: pares
# for elemento in range(1, 200):
# if elemento % 2 == 0:
# print(elemento, "é par")
# # Extra: ímpares
# for elemento in range(1, 200):
# if not elemento % 2 == 0: # pode utilizar o ~ (not: inverte o booleano)
# print(elemento, "é impar")
elemento = 0
while elemento < 200:
if elemento % 4 == 0:
print(elemento, "é divisível por 4")
elemento += 1
####----------------------------------------------------------------------####
# c) Algoritmo de pesquisa em uma lista
####----------------------------------------------------------------------####
lista = [12, 32, 12, 45, 102, 2, 23, 19, 77, 5,
201, 154, 303, 25, 12, 2, 534, 65, 91, 2]
# Como acessar os elementos de uma lista
# Alternativa 1: iterator (acessar os elementos com um iterator)
for elemento in lista:
print(elemento)
# Alternativa 2: indexação (acessar os elementos pelo índice ou posição)
for i in range(len(lista)):
print(lista[i])
# Alternativa 1
def pesq_v1(l, num):
indice = "Não existe"
for i in range(len(l)):
if l[i] == num:
indice = i
return(indice)
print(pesq_v1(lista, 401))
print(pesq_v1(lista, 102))
print(pesq_v1(lista, 1))
print(pesq_v1(lista, 77))
print(pesq_v1(lista, 12))
# Alternativa 2
def pesq_v2(l, num):
for i in range(len(l)):
if l[i] == num:
return(i)
return("Não existe")
print(pesq_v2(lista, 401))
print(pesq_v2(lista, 102))
print(pesq_v2(lista, 1))
print(pesq_v2(lista, 77))
print(pesq_v2(lista, 12))
# Alternativa 3
def pesq_v3(l, num):
try:
return(l.index(num))
except ValueError:
return("Não existe")
print(pesq_v3(lista, 401))
print(pesq_v3(lista, 102))
print(pesq_v3(lista, 1))
print(pesq_v3(lista, 77))
print(pesq_v3(lista, 12))
# Extra: algoritmo retona mais de um indice se existir
# def pesq_todos(l, num):
# indices = []
# for i in range(len(l)):
# if l[i] == num:
# indices.append(i)
# if indices:
# return(indices)
# else:
# return("Não existe")
# print(pesq_todos(lista, 401))
# print(pesq_todos(lista, 102))
# print(pesq_todos(lista, 1))
# print(pesq_todos(lista, 77))
# print(pesq_todos(lista, 12))