Atv_0409
Atv_0409
Atv_0409
def is_palindrome(s):
# Remove espaços e converte a string para minúsculas
s = s.replace(" ", "").lower()
# Compara a string original com a sua versão invertida
return s == s[::-1]
# Exemplos de uso
print(is_palindrome("A man a plan a canal Panama")) # Tru
e
print(is_palindrome("Missão Velha")) # False
print(is_palindrome("radar")) # True
def count_words(s):
# Divide a string em palavras usando split(), que auto
maticamente trata múltiplos espaços
words = s.split()
# Retorna o número de palavras
return len(words)
# Exemplos de uso
print(count_words("Olá, mundo!")) # 2
Atv 04/09 1
print(count_words(" Este é um exemplo de string "))
# 6
print(count_words("")) # 0
def sum_even_numbers(lst):
# Usa uma list comprehension para filtrar os números p
ares e soma-os
return sum(num for num in lst if num % 2 == 0)
# Exemplos de uso
print(sum_even_numbers([1, 2, 3, 4, 5, 6])) # 12
print(sum_even_numbers([7, 8, 10, 11, 13])) # 18
print(sum_even_numbers([1, 3, 5, 7])) # 0
Atv 04/09 2
if b != 0:
return a / b
else:
return "Erro: Divisão por zero"
else:
return "Operador inválido"
# Exemplos de uso
print(simple_calculator(10, 5, '+')) # 15
print(simple_calculator(10, 5, '-')) # 5
print(simple_calculator(10, 5, '*')) # 50
print(simple_calculator(10, 5, '/')) # 2.0
print(simple_calculator(10, 0, '/')) # Erro: Divisão por
zero
print(simple_calculator(10, 5, '^')) # Operador inválido
5. Calcular fatorial
def factorial(n):
# Verifica se o número é 0 ou 1, cujo fatorial é 1
if n == 0 or n == 1:
return 1
# Calcula o fatorial recursivamente
else:
return n * factorial(n - 1)
# Exemplos de uso
print(factorial(5)) # 120
print(factorial(0)) # 1
print(factorial(1)) # 1
print(factorial(7)) # 5040
Atv 04/09 3
Escreva uma função find_max(lst) que retorne o maior número em uma
lista lst.
def find_max(lst):
if len(lst) == 0:
return None # Retorna None se a lista estiver vaz
ia
max_value = lst[0]
for num in lst:
if num > max_value:
max_value = num
return max_value
# Exemplos de uso
print(find_max([3, 5, 7, 2, 8])) # 8
print(find_max([-10, -20, -5, -30])) # -5
print(find_max([1])) # 1
print(find_max([])) # None
Escreva uma função is_prime(n) que retorne True se o número for primo, e
False caso contrário.
def is_prime(n):
if n <= 1:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return False
return True
Atv 04/09 4
# Exemplos de uso
print(is_prime(2)) # True
print(is_prime(17)) # True
print(is_prime(18)) # False
print(is_prime(1)) # False
print(is_prime(19)) # True
Escreva uma função sort_list(lst) que ordene uma lista de inteiros lst em
ordem crescente.
def sort_list(lst):
return sorted(lst)
# Exemplos de uso
print(sort_list([3, 1, 4, 1, 5, 9, 2, 6, 5])) # [1, 1, 2, 3,
4, 5, 5, 6, 9]
print(sort_list([10, -3, 7, 2, 0])) # [-3, 0, 2, 7, 10]
print(sort_list([1])) # [1]
print(sort_list([])) # []
def celsius_to_fahrenheit(c):
return (c * 9/5) + 32
# Exemplos de uso
print(celsius_to_fahrenheit(0)) # 32.0
print(celsius_to_fahrenheit(25)) # 77.0
print(celsius_to_fahrenheit(-10)) # 14.0
print(celsius_to_fahrenheit(100)) # 212.0
Atv 04/09 5
10. Verificar se uma lista é uma subsequência de outra
Escreva uma função is_subsequence(lst1, lst2) que retorne True se lst1 for
uma subsequência de lst2, e False caso contrário.
# Exemplos de uso
print(is_subsequence([1, 3, 5], [1, 2, 3, 4, 5])) # True
print(is_subsequence([1, 4, 3], [1, 2, 3, 4, 5])) # False
print(is_subsequence([], [1, 2, 3])) # True
print(is_subsequence([1, 2, 3], [1, 2])) # False
Atv 04/09 6