Prévia do material em texto
29Exercícios resolvidos da 3a edição
https://python.nilo.pro.br Atualização do 26/03/2024
while f > i and s[i] == s[f]:
f = f - 1
i = i + 1
if s[i] == s[f]:
print(f"{s} é palíndromo")
else:
print(f"{s} não é palíndromo")
Exercício 05-27-b
Escreva um programa que verifique se um número é palíndromo. Um número é palíndromo se continua o
mesmo caso seus dígitos sejam invertidos. Exemplos: 454, 10501
# Exercício 5.27
# Solução alternativa, usando apenas inteiros
n = int(input("Digite o número a verificar:"))
# Com n é um número inteiro, vamos calcular sua
# quantidade de dígitos, encontrado a primeira
# potência de 10, superior a n.
# Exemplo: 341 - primeira potência de 10 maior: 1000 = 10 ^ 4
# Utilizaremos 4 e não 3 para possibilitar o tratamento de números
# com um só dígito. O ajuste é feito nas fórmulas abaixo
q = 0
while 10**q f:
pi = int(ni / (10 ** (i - 1))) # Dígito mais à direita
pf = nf % 10 # Dígito mais à esquerda
if pi != pf: # Se são diferentes, saímos
break
f = f + 1 # Passamos para o próximo dígito a esqueda
i = i - 1 # Passamos para o dígito a direita seguinte
ni = ni - (pi * (10**i)) # Ajustamos ni de forma a retirar o dígito anterior
nf = int(nf / 10) # Ajustamos nf para retirar o último dígito
if pi == pf:
print(f"{n} é palíndromo")
else:
print(f"{n} não é palíndromo")
30 Introdução à Programação com Python
https://python.nilo.pro.brAtualização do 26/03/2024
Exercício 06-01
Modifique o Programa 6.2 para ler 7 notas em vez de 5.
notas = [0, 0, 0, 0, 0, 0, 0] # Ou [0] * 7
soma = 0
x = 0
while x