sábado, 5 de dezembro de 2020

Python String - split()

O método split() retorna uma lista de strings após quebrar a string dada pelo separador especificado.

Sintaxe: str.split(separador, maxsplit)
Parâmetros:
Separador: este é um delimitador. A string se divide neste separador especificado. Se não for fornecido, qualquer espaço em branco será um separador. maxsplit: é um número, que nos diz para dividir a string no máximo do número de vezes fornecido. Se não for fornecido, não há limite.
Retorna: Retorna uma lista de strings depois de quebrar a string fornecida pelo separador especificado.

CÓDIGO 1:

texto = 'Bem-vindo ao Acervo Lima'

# separa a string nos espaços entre as palavras
print(texto.split())

palavra = 'Bem-vindo, ao, Acervo, Lima'

# separa em ','
print(palavra.split(','))

palavra = 'Bem-vindo: ao: Acervo: Lima'

# separa em ':'
print(palavra.split(':'))

palavra = 'CatBatSatFatOr'

# separa a cada três caracteres
print([palavra[i:i+3] for i in range(0, len(palavra), 3)])

Resultado :

['Bem-vindo', 'ao', 'Acervo', 'Lima']
['Bem-vindo', ' ao', ' Acervo', ' Lima']
['Bem-vindo', ' ao', ' Acervo', ' Lima']
['Cat', 'Bat', 'Sat', 'Fat', 'Or']

CÓDIGO 2

texto = 'Bem-vindo ao Acervo Lima'

# maxsplit: 0
print(texto.split(' ', 0))

# maxsplit: 4
print(texto.split(' ', 4))

# maxsplit: 1
print(texto.split(' ', 1))

Resultado:

['Bem-vindo ao Acervo Lima']
['Bem-vindo', 'ao', 'Acervo', 'Lima']
['Bem-vindo', 'ao Acervo Lima']

Artigo escrito por pawan_asipu e traduzido por Acervo Lima de Python String | split()

Adicionando nova coluna ao DataFrame existente no Pandas

Vamos discutir como adicionar novas colunas ao DataFrame existente no Pandas. Existem várias maneiras de fazermos essa tarefa.

Método #1: Declarando uma nova lista como uma coluna.

# Importa o módulo pandas
import pandas as pd

# Defina um dicionário contendo dados de Alunos
data = {
        'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
        'Altura': [5.1, 6.2, 5.1, 5.2],
        'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
        }

# Converta o dicionário em DataFrame
df = pd.DataFrame(data)

# Declare uma lista que deve ser convertida em uma coluna
address = ['Delhi', 'Bangalore', 'Chennai', 'Patna']

# Usando 'Address' como o nome da coluna
# e igualando-o à lista
df['Address'] = address

# observe o resultado
print(df)

Resultado:

     Nome  Altura Qualificação    Address
0     Jai     5.1          Msc      Delhi
1  Princi     6.2           MA  Bangalore
2  Gaurav     5.1          Msc    Chennai
3    Anuj     5.2          Msc      Patna

Observe que o comprimento da sua lista deve corresponder ao comprimento da coluna do índice, caso contrário, ele mostrará um erro.

Método #2: usando DataFrame.insert()

Isso dá a liberdade de adicionar uma coluna em qualquer posição que quisermos e não apenas no final. Ele também fornece opções diferentes para inserir os valores da coluna.

# Importa o módulo pandas
import pandas as pd

# Defina um dicionário contendo dados de Alunos
data = {
        'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
        'Altura': [5.1, 6.2, 5.1, 5.2],
        'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
        }

# Converta o dicionário em DataFrame
df = pd.DataFrame(data)

# Usando DataFrame.insert() para adicionar uma coluna
df.insert(2, "Idade", [21, 23, 24, 21], True)

# observe o resultado
print(df)

Resultado:

     Nome  Altura  Idade Qualificação
0     Jai     5.1     21          Msc
1  Princi     6.2     23           MA
2  Gaurav     5.1     24          Msc
3    Anuj     5.2     21          Msc

Método #3: Usando o método Dataframe.assign()

Este método criará um novo dataframe com uma nova coluna adicionada ao antigo dataframe.

# Importa o módulo pandas
import pandas as pd

# Defina um dicionário contendo dados de Alunos
data = {
        'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
        'Altura': [5.1, 6.2, 5.1, 5.2],
        'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
        }

# Converta o dicionário em DataFrame
df = pd.DataFrame(data)

# Usando 'endereço' como o nome da coluna e igualando-a à lista
df2 = df.assign(endereço = ['Delhi', 'Bangalore', 'Chennai', 'Patna'])

# observe o resultado
print(df2)

Resultado:

     Nome  Altura Qualificação   endereço
0     Jai     5.1          Msc      Delhi
1  Princi     6.2           MA  Bangalore
2  Gaurav     5.1          Msc    Chennai
3    Anuj     5.2          Msc      Patna

Método #4: usando um dicionário

Podemos usar um dicionário Python para adicionar uma nova coluna no DataFrame do pandas. Use uma coluna existente como os valores-chave e seus respectivos valores serão os valores da nova coluna.

# Importa o módulo pandas
import pandas as pd

# Defina um dicionário contendo dados de Alunos
data = {
        'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
        'Altura': [5.1, 6.2, 5.1, 5.2],
        'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
        }

# Converta o dicionário em DataFrame
df = pd.DataFrame(data)

# Defina um dicionário com os valores-chave de
# uma coluna existente e seus respectivos
# pares de valores como os valores para nossa nova coluna.
endereço = {
            'Delhi': 'Jai', 'Bangalore': 'Princi',
            'Patna': 'Gaurav', 'Chennai': 'Anuj'
            }

# Converta o dicionário em DataFrame
df = pd.DataFrame(data)

# Forneça 'Endereço' como o nome da coluna
df['Endereço'] = endereço

# Observe a saída
print(df)

Resultado:

     Nome  Altura Qualificação   Endereço
0     Jai     5.1          Msc      Delhi
1  Princi     6.2           MA  Bangalore
2  Gaurav     5.1          Msc      Patna
3    Anuj     5.2          Msc    Chennai

Artigo escrito por Chaitanya Tyagi e traduzido por Acervo Lima de Adding new column to existing DataFrame in Pandas

Recebendo entrada em Python

Os desenvolvedores geralmente precisam interagir com os usuários, seja para obter dados ou fornecer algum tipo de resultado. A maioria dos programas hoje usa uma caixa de diálogo como uma forma de solicitar ao usuário algum tipo de entrada. Já o Python nos fornece duas funções embutidas para ler a entrada do teclado.

  • input(prompt)
  • raw_input(prompt)

input(): esta função primeiro obtém a entrada do usuário e, em seguida, avalia a expressão, o que significa que o Python identifica automaticamente se o usuário inseriu uma string ou um número ou lista. Se a entrada fornecida não estiver correta, o erro de sintaxe ou a exceção é gerado pelo python.

Por exemplo

# Programa python monstrando
# como usar a função input()

val = input("Entre com um valor: ")
print(val)

Resultado:

Entre com um valor: um valor          
um valor

Como a função input funciona em Python

Código:

num = input("Entre com um número: ")
print(num)
name1 = input("Entre com um nome: ")
print(name1)
  
# Printing type of input value 
print ("tipo de num", type(num)) 
print ("tipo de name", type(name1)) 

Resultado:

Entre com um número: 2
2
Entre com um nome: nome
nome
tipo de num <class 'str'>
tipo de name <class 'str'>

raw_input(): Esta função funciona em versões anteriores (como Python 2.x). Esta função pega exatamente o que foi digitado no teclado, converte em string e depois retorna para a variável na qual queremos armazenar.

Exemplo:

g = raw_input("Entre com seu nome: ") 
print g

Resultado:

Entre com seu nome: Bob
Bob

Aqui, g é uma variável que obterá o valor da string, digitada pelo usuário durante a execução do programa. A digitação de dados para a função raw_input() é encerrada pela tecla enter. Podemos usar raw_input() para inserir dados numéricos também. Nesse caso, usamos typecasting.

Artigo escrito por ABHISHEK TIWARI 13 e traduzido por Acervo Lima de Taking input in Python

Calculadora básica usando Python

Crie uma calculadora simples que pode realizar operações aritméticas básicas como adição, subtração, multiplicação ou divisão, dependendo da entrada do usuário.

Funções:

  • O usuário escolhe a operação desejada. As opções 1, 2, 3 e 4 são válidas.
  • Dois números são tomados e uma ramificação if-elif-else é usada para executar uma seção particular.
  • Usando as funções add(), subtract(), multiply() e divide() avalie as respectivas operações.

Exemplo:

Selecione uma operação -
1. Soma
2. Subtração
3. Multiplicação
4. Divisão

Selecione a operação 1, 2, 3, 4 :4
Entre com o primeiro número: 2
Entre com o segundo número: 3
2 / 3 = 0.6666666666666666
# Uma simples calculadora
# Função para somar dois números 
def add(num1, num2):
    return num1 + num2

# Função para subtração 
def subtract(num1, num2):
    return num1 - num2

# Função para multiplica dois números
def multiply(num1, num2):
    return num1 * num2

# Função para divisão
def divide(num1, num2):
    return num1 / num2

print("Selecione uma operação -\n" \
        "1. Soma\n" \
        "2. Subtração\n" \
        "3. Multiplicação\n" \
        "4. Divisão\n")

# Obtendo entradas do usuário
select = int(input("Selecione a operação 1, 2, 3, 4 :")) 

number_1 = int(input("Entre com o primeiro número: "))
number_2 = int(input("Entre com o segundo número: "))

if select == 1:
    print(number_1, "+", number_2, "=", add(number_1, number_2)) 

elif select == 2:
    print(number_1, "-", number_2, "=", subtract(number_1, number_2))

elif select == 3:
    print(number_1, "*", number_2, "=", multiply(number_1, number_2)) 

elif select == 4:
    print(number_1, "/", number_2, "=", divide(number_1, number_2))
else:
    print("Entrada inválida")

Resultado:

Selecione uma operação -
1. Soma
2. Subtração
3. Multiplicação
4. Divisão

Selecione a operação 1, 2, 3, 4 :3
Entre com o primeiro número: 7
Entre com o segundo número: 8
7 * 8 = 56

Artigo escrito por Pushpanjali chauhan e traduzido por Acervo Lima de Basic calculator program using Python

Python if-else

Existem situações na vida real em que precisamos tomar algumas decisões e, com base nessas decisões, decidimos o que devemos fazer a seguir. Situações semelhantes surgem na programação também onde precisamos tomar algumas decisões e com base nessas decisões executaremos o próximo bloco de código.

As declarações de tomada de decisão em linguagens de programação decidem a direção do fluxo de execução do programa. As instruções de tomada de decisão disponíveis em python são:

  • Declaração if
  • Declaração if-else
  • if's aninhados
  • if-elif
  • if em uma linha
  • if-else em uma linha

Declaração if

Declaração if é a declaração de tomada de decisão mais simples. É usado para decidir se uma determinada instrução ou bloco de instruções será executado ou não, ou seja, se uma determinada condição for verdadeira, um bloco de instruções será executado, caso contrário, não.

Sintaxe:

if condição:           
   # bloco de comandos para ser executado
   # se a condição for verdadeira

Aqui, a condição após a avaliação será verdadeira ou falsa. se a instrução aceita valores booleanos - se o valor for verdadeiro, ele executará o bloco de instruções abaixo dele, caso contrário, não. Podemos usar condição com parenteses também.

Como sabemos, python usa indentação para identificar um bloco. Portanto, o bloco sob uma instrução if será identificado conforme mostrado no exemplo abaixo:

if condição:
   declaração1
declaração2

# Aqui, se a condição for verdadeira,
# o bloco if irá considerar apenas a
# declaração1 como estando dentro de seu bloco.
# Declaração if 

i = 10
if (i > 15):
    print("10 é menor que 15")
print ("Não estou dentro do bloco if")

Resultado:

Não estou dentro do bloco if

Como a condição presente na declaração if é falsa. Portanto, o bloco abaixo da instrução if não é executado.

if- else

A declaração if por si só nos diz que se uma condição for verdadeira, ela executará um bloco de declarações e se a condição for falsa, não. Mas e se quisermos fazer outra coisa se a condição for falsa. Aí vem a declaração else. Podemos usar a instrução else com a instrução if para executar um bloco de código quando a condição for falsa.

Sintaxe:

if (condição):
    # Executa se a condição for verdadeira
else:
    # Executa se a condição for falsa
# Declaração if-else
#!/usr/bin/python

i = 20;
if (i < 15):
    print("i é menor que 15")
    print("Estou no bloco if")
else:
    print ("i é maior que 15")
    print ("Estou no bloco else")
print("Não estou no bloco if e nem no else")

Resultado:

i é maior que 15
Estou no bloco else
Não estou no bloco if e nem no else

O bloco de código após a instrução else é executado como a condição presente na instrução if é falsa após a chamada da instrução que não está em bloco (sem espaços).

if's aninhados

Um if aninhado é uma instrução if que é o destino de outra instrução if. As instruções if aninhadas significam uma instrução if dentro de outra instrução if. Sim, Python nos permite aninhar instruções if dentro de instruções if. Ou seja, podemos colocar uma instrução if dentro de outra instrução if.

Sintaxe:

if (condição1):
   # Executa quando a condição é verdadeira
   if (condição2): 
      # Executa quando a condiçã2 é verdadeira
   # o segundo bloco if termina aqui
# o primeira bloco if termina aqui
# Demonstração de if's aninhados
#!/usr/bin/python
i = 10
if (i == 10):
    #  Primeira declaração 
    if (i < 15): 
        print("i é menor que 15") 
    # Declaração if aninhada
    # Vai ser executada apenas se a primeira
    # declaração if for verdadeira
    if (i < 12):
        print("i é menor que 12 também")
    else:
        print("i é maior que quinze 15")

Resultado:

i é menor que 15
i é menor que 12 também

if-elif-else

Aqui, um usuário pode decidir entre várias opções. As instruções if são executadas de cima para baixo. Assim que uma das condições que controlam o if for verdadeira, a instrução associada àquele if é executada e o resto da escada é ignorado. Se nenhuma das condições for verdadeira, a instrução else final será executada.

Sintaxe:

if (condição):
    # declaração
elif (condição):
    # declaração
.
.
else:
    # declaração

Exemplo:

# Demonstração do uso de if-elif-else
#!/usr/bin/python

i = 20
if (i == 10):
    print ("i é 10")
elif (i == 15):
    print ("i é 15")
elif (i == 20):
    print ("i é 20")
else:
    print ("i é não esta presente")

Resultado:

i é 20

if em uma linha

Sempre que houver apenas uma única instrução a ser executada dentro do bloco if, uma abreviatura if pode ser usada. A instrução pode ser colocada na mesma linha da instrução if.

Sintaxe:

if condição: declaração

Exemplo:

# demonstrando o uso do if numa linha
i = 10
if i < 15: print("i é menor que 15") 

Resultado:

i é menor que 15

if-else em uma linha

Isso pode ser usado para escrever as instruções if-else em uma única linha, onde há apenas uma instrução a ser executada no bloco if e uma no else.

Sintaxe:

declaração_quando_True if condição else declaração_quando_False

Exemplo:

# if-else em uma linha
i = 10
print(True) if i < 15 else print(False) 

Resultado:

True

Artigo escrito por DevanshuAgarwal e traduzido por Acervo Lima de Python if else

Como imprimir sem nova linha em Python?

Geralmente, as pessoas que mudam de C / C++ para Python se perguntam como imprimir duas ou mais variáveis ou instruções sem entrar em uma nova linha em python. Já que a função python print() por padrão termina com nova linha. Python tem um formato predefinido se você usar print(variável) então ele irá para a próxima linha automaticamente.

Por exemplo:

print("Acervo")
print("Acervo Lima")

Resultado:

Acervo
Acervo Lima

Mas, às vezes, pode acontecer que não queiramos ir para a próxima linha, mas queremos imprimir na mesma linha. Então o que podemos fazer? Por exemplo:

Entrada : print("Acervo") print("Acervo Lima")
Saída : Acervo Acervo Lima

Entrada : a = [1, 2, 3, 4]
Saída : 1 2 3 4

A solução discutida aqui é totalmente dependente da versão do Python que você está usando.

Imprimir sem nova linha em Python 2

# Código Python 2 para
# imprimir na mesma linha
# imprimir Acervo e Acervo Lima
# na mesma linha 
  
print("Acervo"), 
print("Acervo Lima") 
  
# array 
a = [1, 2, 3, 4] 
  
# imprimi na mesma linha
for i in range(4):
    print(a[i]),  

Resultado:

Acervo Acervo Lima
1 2 3 4

Imprimir sem nova linha em Python 3

# Código Python 3 para
# imprimir na mesma linha
# Acervo e Acervo Lima na mesma linha
  
print("Acervo", end =" ") 
print("Acervo Lima") 
  
# array 
a = [1, 2, 3, 4] 
  
# imprime na mesma linha
for i in range(4): 
    print(a[i], end =" ")  

Resultado:

Acervo Acervo Lima
1 2 3 4

Artigo escrito por UPENDRA BARTWAL e traduzido por Acervo Lima de How to print without newline in Python?

sexta-feira, 4 de dezembro de 2020

Como atribuir valores a variáveis em Python

Este artigo discute métodos para atribuir valores a variáveis.

Método 1: Método de inicialização direta

# Código Python 3 para demonstrar a atribuição de
# variável sob condição usando o método de inicialização direta

# variável de inicialização diretamente
a = 5
  
# imprime o valor de a 
print("O valor de a é: " + str(a)) 

Uma linha if-else em vez de Operador Condicional (? :) em Python

# Código Python 3 para demonstrar a atribuição de variáveis
# sob condição usando uma linha if-else

# inicializando a variável usando o operador condicional
# a = 20 > 10 ? 1 : 0 não é possivel em python
# em vez disso temos uma linha if-else
a = 1 if 20 > 10 else 0

# imprime o valor de a
print("O valor de a é: " + str(a))

Artigo escrito por VartikaBhatnagar1
Traduzido por Acervo Lima de How to assign values to variables in Python and other languages