1
resposta

Desafio: hora da prática

Q1

nome = input('Qual o seu nome? ')
print(f'Olá, {nome}!')
print()

Q2.

nome = input('Qual o seu nome? ')
idade = int(input('Qual a sua idade? '))
print(f'Olá, {nome}, você tem {idade} anos.')
print()

Q3.

nome = input('Qual o seu nome? ')
idade = int(input('Qual a sua idade? '))
altura = float(input('Qual a sua altura (em metros)? '))
print(f'Olá, {nome}, você tem {idade} anos e mede {altura} metros!')

Q4.

num1 = float(input('Digite um número? '))
num2 = float(input('Digite outro número? '))
soma = num1 + num2
print(f'A soma de {num1} + {num2} é {soma}')
print()

Q5

num1 = float(input('Digite um número? '))
num2 = float(input('Digite outro número? '))
num3 = float(input('Digite outro número? '))
soma = num1 + num2 + num3
print(f'A soma de {num1} + {num2} + {num3} é {soma}')
print()

Q6

num1 = float(input('Digite um número? '))
num2 = float(input('Digite outro número? '))
sub = num1 - num2
print(f'A subração de {num1} - {num2} é {sub}')
print()

Q7

num1 = float(input('Digite um número? '))
num2 = float(input('Digite outro número? '))
mult = num1 * num2
print(f'A multiplicação de {num1} * {num2} é {mult}')
print()

Q8

numerador = float(input('Digite um número para o numerador: '))
denominador = float(input('Digite outro número para o denominador: (Você não pode escolher o número zero'))
while denominador == 0:
print('Você não pode escolher o número zero')
denominador = float(input('Digite outro número para o denominador: '))
divisao = numerador/denominador
print(f'A divisão de {numerador} por {denominador} é {divisao}')
print()

Q9

operador = int(input('Digite um número para ser o operador: '))
potencia = int(input('Digite outro número para ser a potência: '))
exponencia = operador ** operador
print(f'A exponenciação de {operador} * {operador} é {exponencia}')
print()

Q10

numerador = int(input('Digite um número para o numerador: '))
denominador = int(input('Digite outro número para o denominador: (Você não pode escolher o número zero'))
while denominador == 0:
print('Você não pode escolher o número zero')
denominador = int(input('Digite outro número para o denominador: '))
divisao = numerador/denominador
print(f'A divisão de {numerador} por {denominador} é {divisao}')
print()

Q11

numerador = float(input('Digite um número para o numerador: '))
denominador = float(input('Digite outro número para o denominador: (Você não pode escolher o número zero'))
while denominador == 0:
print('Você não pode escolher o número zero')
denominador = float(input('Digite outro número para o denominador: '))
resto = numerador % denominador
print(f'O resto da divisão de {numerador} por {denominador} é {resto}')
print()

Q12

nota1 = float(input('Digite a primeira nota: '))
nota2 = float(input('Digite a segunda nota: '))
nota3 = float(input('Digite a terceira nota: '))
media = (nota1 + nota2 + nota3)/3
print(f'A média de {nota1}, {nota2}, {nota3} é {media}')
print()

Q13

media_pond = ((51) + (122) + (203) + (14))/4
print(f'A média ponderada entre os números [5, 12, 20 e 1] com os pesos respectivamente [1, 2, 3 e 4] é {media_pond}')
print()

Q14

frase = 'a gata da minha prima é azul'
print(f'{frase}')
print()

Q15

frase = input('Digite uma frase: ')
print(f'{frase}')
print()

Q16

frase = input('Digite uma frase: ')
frase_maiscula = frase.upper()
print(f'{frase_maiscula}')
print()

Q17

frase = input('Digite uma frase: ')
frase_minuscula = frase.lower()
print(f'{frase_minuscula}')
print()

Q18

frase = 'a gata da minha prima é azul'
frase_limpa = frase.strip()
print(f'{frase_limpa}')
print()

Q19

frase = input('Digite uma frase: ')
frase_limpa = frase.strip()
print(f'{frase_limpa}')
print()

Q20

frase = input('Digite uma frase: ')
frase_limpa = frase.strip().upper()
print(f'{frase_limpa}')
print()

Q21

frase = input('Digite uma frase: ')
for f in frase:
if frase[f] == 'e':
frase[f] = 'f'
print(f'{frase}')
print()

Q22

frase = input('Digite uma frase: ')
for f in frase:
if frase[f] == 'a':
frase[f] = '@'
print(f'{frase}')
print()

Q23

frase = input('Digite uma frase: ')
for f in frase:
if frase[f] == 's':
frase[f] = '$'
print(f'{frase}')
print()

1 resposta

Olá, Rafaela. Como vai?

Parabéns pela dedicação em resolver essa extensa lista de exercícios práticos! Mandou muito bem ao praticar a manipulação de dados com Python, utilizando conceitos essenciais como entrada de dados (input), conversão de tipos (int, float), f-strings para formatação, operadores matemáticos e métodos de strings (upper, lower, strip).

A sua lógica para validar a divisão por zero nas questões Q8, Q10 e Q11 utilizando o laço while ficou excelente! Essa é uma ótima prática de tratamento de erros para impedir que o programa quebre durante a execução.

Ao analisar o seu código detalhadamente, notei pequenas oportunidades de melhoria e correção em quatro questões específicas (Q9, Q13, Q21, Q22 e Q23). Vamos entender o que aconteceu e como ajustá-las:

Q9: Ajuste nas variáveis da exponenciação

No cálculo da exponenciação, você coletou as variáveis operador e potencia, mas na hora de calcular e exibir o resultado, acabou usando a variável operador duas vezes (operador operador). Para corrigir isso e usar a potência digitada pelo usuário, o código deve ficar assim:

operador = int(input('Digite um número para ser o operador: '))
potencia = int(input('Digite outro número para ser a potência: '))
exponencia = operador ** potencia // Correção aqui
print(f'A exponenciação de {operador} elevado a {potencia} é {exponencia}')

Q13: Ajuste no cálculo da média ponderada

A média ponderada requer que multipliquemos cada valor pelo seu respectivo peso e, ao final, dividamos o resultado pela soma de todos os pesos (que no caso é 1 + 2 + 3 + 4 = 10), e não pela quantidade de elementos (4). Além disso, faltou incluir os operadores de multiplicação * dentro dos parênteses:

media_pond = ((5 * 1) + (12 * 2) + (20 * 3) + (1 * 4)) / 10 // Multiplicação explícita e divisão pela soma dos pesos
print(f'A média ponderada entre os números [5, 12, 20 e 1] com os pesos [1, 2, 3 e 4] é {media_pond}')

Q21, Q22 e Q23: Strings são imutáveis em Python

Nas três últimas questões, você tentou alterar caracteres específicos da string fazendo frase[f] = 'f'. No Python, ocorre um erro de tipo (TypeError) se tentarmos fazer isso, porque as strings são objetos imutáveis. Além disso, a estrutura do laço for f in frase faz com que a variável f receba a própria letra, e não o índice numérico.

Para substituir caracteres em uma string de forma simples e elegante, a boa prática em Python é utilizar o método nativo .replace(). Veja como os seus códigos podem ser simplificados e corrigidos:

# Correção Q21
frase = input('Digite uma frase: ')
frase_alterada = frase.replace('e', 'f')
print(f'{frase_alterada}')

# Correção Q22
frase = input('Digite uma frase: ')
frase_alterada = frase.replace('a', '@')
print(f'{frase_alterada}')

# Correção Q23
frase = input('Digite uma frase: ')
frase_alterada = frase.replace('s', '$')
print(f'{frase_alterada}')

Fazer listas de exercícios assim é a melhor maneira de consolidar a base antes de avançar para tópicos mais complexos de Data Science. Continue com esse excelente ritmo de estudos!

Espero que possa ter lhe ajudado!