Exercícios Práticos de Python sobre Estruturas Sequenciais

7-1: Ordenação de Caracteres ASCII

Dada uma sequência de caracteres, organize-os em ordem crescente com base em seus valores ASCII.

Formato de Entrada: Diversas linhas, cada uma contendo múltiplos caracteres.

Formato de Saída: Para cada linha de entrada, exiba os caracteres ordenados, separados por espaço.

Exemplo de Entrada:


Input1231
qwe1321
asddsfadsfadsf
zxc1321132dsfa
abcABCDFdefgDEFGHIJhijakfdsadsf;dsa

Exemplo de Saída:


1 1 2 3 I n p t u
1 1 2 3 e q w
a a a d d d d f f f s s s s
1 1 1 2 2 3 3 a c d f s x z
; A B C D D E F F G H I J a a a a b c d d d d e f f f g h i j k s s s

Código de Exemplo:


while True:
    try:
        dados = input()
        conjunto = list(dados)
        conjunto.sort()
        resultado = ' '.join(conjunto)
        print(resultado)
    except EOFError:
        break

7-2: Inversão de Dados Numéricos

Leia uma linha de inteiros e exiba-os na ordem inversa.

Formato de Entrada: Várias linhas, cada uma com números inteiros separados por espaço.

Formato de Saída: Para cada linha, imprima os números na ordem inversa, separados por espaço.

Exemplo de Entrada:


1 3 5 9 7 6 8 2 4 0 234 656 2223
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-3 -43 23 435 -5667 231 100 2002 2035

Exemplo de Saída:


2223 656 234 0 4 2 8 6 7 9 5 3 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
2035 2002 100 231 -5667 435 23 -43 -3

Código de Exemplo:


while True:
    try:
        valores = [int(v) for v in input().split()]
        valores.reverse()
        saida = ' '.join(map(str, valores))
        print(saida)
    except EOFError:
        break

7-4: Filtragem de Alturas Acima da Média

Para uma lista de alturas de alunos, selecione aquelas que excedem a média e exiba-as na ordem original.

Formato de Entrada: Uma única linha com inteiros positivos representando alturas.

Formato de Saída: As alturas acima da média, cada uma seguida por um espaço.

Exemplo de Entrada:


143 174 119 127 117 164 110 128

Exemplo de Saída:


143 174 164

Código de Exemplo:


alturas = [int(a) for a in input().split()]
total = sum(alturas)
quantidade = len(alturas)
media = total / quantidade
selecionadas = []
for h in alturas:
    if h > media:
        selecionadas.append(h)
print(' '.join(map(str, selecionadas)), end=' ')

7-5: Contagem de Dígitos e Soma

Dado um número inteiro positivo, determine o número de dígitos e a soma de seus dígitos.

Formato de Entrada: Uma linha com um inteiro positivo N.

Formato de Saída: Uma linha com a contagem de dígitos e a soma, separadas por espaço.

Exemplo de Entrada:


456

Exemplo de Saída:


3 15

Código de Exemplo:


numero_str = input()
tamanho = len(numero_str)
soma_digitos = sum(int(d) for d in numero_str)
print(tamanho, soma_digitos)

7-6: Substituição de Letras Maiúsculas

Substitua letras maiúsculas em uma string seguindo uma tabela de mapeamento simétrico (A→Z, B→Y, etc.), mantendo outros caracteres inalterados.

Formato de Entrada: Uma linha com a string de entrada.

Formato de Saída: A string modificada após as substituições.

Exemplo de Entrada:


This is a pen.

Exemplo de Saída:


Ghis is a pen.

Código de Exemplo:


texto = input()
resultado = []
for caractere in texto:
    if caractere.isupper():
        novo_codigo = 65 + 25 - (ord(caractere) - 65)
        resultado.append(chr(novo_codigo))
    else:
        resultado.append(caractere)
print(''.join(resultado))

7-7: Índices de Caracteres em String

Dada uma string e dois caracteres, exiba os índices desses caracteres na string, percorrendo da direita para a esquerda.

Formato de Entrada: Primeira linha: a string. Segunda linha: dois caracteres separados por espaço.

Formato de Saída: Para cada ocorrência, imprima o índice e o caractere, um por linha, do maior índice para o menor.

Exemplo de Entrada:


pmispsissippi
s p

Exemplo de Saída:


11 p
10 p
8 s
7 s
5 s
4 p
3 s
0 p

Código de Exemplo:


cadeia = input()
caractere1, caractere2 = input().split()
comprimento = len(cadeia)
for idx in range(comprimento - 1, -1, -1):
    if cadeia[idx] == caractere1:
        print(idx, caractere1)
    elif cadeia[idx] == caractere2:
        print(idx, caractere2)

7-8: Extração de Letras Únicas

De uma string, extraia as 10 primeiras letras inglesas únicas (ignorando maiúsculas/minúsculas). Se não houver 10, exiba "not found".

Formato de Entrada: Uma linha com a string.

Formato de Saída: As 10 letras únicas ou a mensagem de erro.

Exemplo de Entrada:


poemp134567

Exemplo de Saída:


not found

Exemplo de Entrada 2:


This 156is a test example

Exemplo de Saída 2:


Thisaexmpl

Código de Exemplo:


entrada = input()
coletadas = []
contagem = 0
for ch in entrada:
    if ch.isalpha():
        ch_lower = ch.lower()
        if ch_lower not in [c.lower() for c in coletadas]:
            coletadas.append(ch)
            contagem += 1
            if contagem == 10:
                break
if contagem == 10:
    print(''.join(coletadas))
else:
    print("not found")

7-9: Verificação de Anagramas

Duas strings são anagramas se uma for uma permutação da outra. Verifique se as strings fornecidas são anagramas.

Formato de Entrada: Duas linhas, cada uma com uma string.

Formato de Saída: "yes" se forem anagramas, caso contrário "no".

Exemplo de Entrada:


Mary
arMy

Exemplo de Saída:


yes

Exemplo de Entrada 2:


hello world
world hello

Exemplo de Saída 2:


yes

Exemplo de Entrada 3:


I am very good.
verygood I am.

Exemplo de Saída 3:


no

Código de Exemplo:


from collections import Counter

primeira = input()
segunda = input()
if sorted(primeira) == sorted(segunda):
    print("yes")
else:
    print("no")

7-10: Problema do Rei dos Macacos

N macacos formam um círculo, numerados de 1 a N. Eles contam de 1 a 3, e o macaco que diz 3 é eliminado. O processo se repete até restar um macaco, que é o rei. Determine a posição original do rei.

Formato de Entrada: Uma linha com um inteiro positivo N (≤1000).

Formato de Saída: O número do macaco eleito.

Exemplo de Entrada:


11

Exemplo de Saída:


7

Código de Exemplo:


n = int(input())
macacos = list(range(1, n + 1))
posicao_atual = 0
while len(macacos) > 1:
    posicao_atual = (posicao_atual + 2) % len(macacos)
    del macacos[posicao_atual]
print(macacos[0])

7-11: Elementos Não Comuns em Duas Listas

Dadas duas listas de elementos, encontre todos os elemenots que aparecem em uma lista mas não na outra, mantendo a ordem de aparição original.

Formato de Entrada: Duas linhas, cada uma com elementos separados por espaço (podem ter duplicatas).

Formato de Saída: Os elementos não comuns, na ordem em que aparecem nas listas, separadso por espaço.

Exemplo de Entrada:


10 3 -5 2 8 0 5 -15 9 100
10 6 4 8 2 -5 9 0 100 1

Exemplo de Saída:


3 5 -15 6 4 1

Código de Exemplo:


lista1 = input().split()
lista2 = input().split()
conjunto1 = set(lista1)
conjunto2 = set(lista2)
resultado = []
for item in lista1:
    if item not in conjunto2:
        resultado.append(item)
for item in lista2:
    if item not in conjunto1:
        resultado.append(item)
print(' '.join(resultado))

Tags: Python listas Strings laços while ordenacao

Publicado em 7-17 06:49