Python Dicas e Trechos de Código (Snippets) – Parte 5

Hoje vou colocar mais alguns trechos de código (Snippets) e também alguns exercícios resolvidos.

Como converter uma lista para uma String?

string = ['a', 'b', 'r', 'a', 'c', 'a', 'd', 'a', 'b', 'r', 'a']
print(''.join([str(c) for c in string]))  # abracadabra

Contar o número de ocorrências numa string?

x_count = '_O_X__X_X'.count('X')  # 3 'X'
o_count = '_O_X__X_X'.count('O')  # 1 'O'

print(abs(o_count - x_count))  # 2

Como dividir uma string com o método split?

O método split() divide uma string em sub-strings através de um separador. Se nenhum separador for fornecido será usado o espaço em branco. Em qualquer dos casos que usamos split(), este vai transformar uma string numa lista.

Exemplo:

python_definition = 'Python is a programming language that lets you work more quickly and integrate your systems more effectively'

python_definition.split()
# ['Python', 'is', 'a', 'programming', 'language', 'that', 'lets', 'you', 'work', 'more', 'quickly', 'and', 'integrate', 'your', 'systems', 'more', 'effectively']

python_definition.split("you")
# ['Python is a programming language that lets ', ' work more quickly and integrate ', 'r systems more effectively']

# You can specify how many times the split is going to be done
print(python_definition.split("you", 1))
# ['Python is a programming language that lets ', ' work more quickly and integrate your systems more effectively']

name, surname = 'Forrest Gump'.split()  # input().split()  # Forrest Gump

print(name)     # Forrest
print(surname)  # Gump

Problema de escada.

Isto é um problema de escada de tamanho = 4:

#	*
#  **
# ***
#****

O formato de saída será imprimir uma escada de tamanho n com o símbolo * e espaços.

Nota: a última linha não pode conter espaços.

Exemplo:

Input

6

Output

#	  *
#	 **
#	***
#  ****
# *****
#******

Solução:

def staircase(n):
    for i in range(1 ,n + 1):
        print((n-i) * ' ' + i * '*')

if __name__ == '__main__':
    n = int(input())
    staircase(n)    

Triângulo palíndromo

Dado um valor inteiro n positivo .
O objetivo é imprimir um triângulo palíndromo de tamanho n.

Por exemplo, um triângulo palíndromo de tamanho n é:

 1
121
12321
1234321
123454321

Exemplo:

Input:

5

Output:

1
121
12321
1234321
123454321

Solução:

def palindromic_triangle(triangle_size):
	for i in range(1, triangle_size + 1):
	    print(((10 ** i - 1) // 9) ** 2)

if __name__ == '__main__':
	n = int(input())
	palindromic_triangle(n)

Leave a Reply