• 1
    Entrada e saída
    • Tarefas
  • 2
    Condições
    • Tarefas
  • 3
    Loop for
    • Tarefas
  • 4
    Strings
    • Tarefas
  • 5
    Loop while
    • Tarefas
  • 6
    Listas
    • Tarefas
  • 7
    Matrizes 2D
    • Tarefas
  • 8
    Dicionários
    • Tarefas
  • 9
    Conjuntos
    • Tarefas
  • 10
    Funções e recursão
    • Tarefas
  • к

Lição 3. FOR cycle

Dificuldade:

Tarefa«Nome no letreiro»

💻 Python

Você conseguiu um emprego na agência de publicidade criativa "creativeplus". Sua primeira tarefa & mdash; Criar uma calculadora para calcular o custo de colocar texto em um outdoor publicitário. O diretor da agência criou um sistema de precificação astuto para estimular os clientes a escolherem nomes "sonoros" e "seguros".

Regras para calcular o custo:

  1. Custo básico: & nbsp; O custo de um símbolo é inserido pelo usuário.
  2. Espaços: & nbsp; Eles são pagos, são gratuitos.
  3. Sobretaxa de vogal: & nbsp; Vogais (russas e inglesas, em qualquer maiúscula/minúscula) são consideradas mais "chamativas", portanto seu custo é 50% maior que o básico.
  4. Símbolos proibidos: & nbsp; Os símbolos & nbsp; '@' & nbsp; e & nbsp; '#' & nbsp; são proibidos para uso por razões técnicas. Se pelo menos um deles for encontrado no nome, o cálculo é impossível, e o programa deve exibir uma mensagem de erro.
  5. Símbolo da sorte: & nbsp; O símbolo de exclamação ( '!' ) faz parte de uma ação especial. Ele é gratuito por si só, mas se estiver presente no nome, no & nbsp; final & nbsp; o custo de toda a inscrição recebe um desconto de 10%.

Você precisa escrever o programa que solicita ao usuário o nome e o custo básico do símbolo, e então calcula e exibe o preço total levando em consideração todas as regras.

Formato de entrada

o nome para o escudo publicitário (string)
o custo básico de um símbolo (float)

Formato de saída

O custo total é de até dois dígitos após a vírgula ou uma mensagem de erro

Exemplo

Entrada

O melhor preço!
100.0

Saída

Custo final: 1125.00 rublos.

Dica

There will be no clue here, decide for yourself!

main.py
Teste 1
Teste 2
Teste 3
Teste 4
Teste 5
Teste 6
Teste 7
Teste 8
Teste 9
Teste 10
Solução do desenvolvedor
# Получаем название для рекламы и базовую стоимость одного символа
ad_text = input()
base_price = float(input())

# Инициализируем переменные для итоговой стоимости и флагов
total_cost = 0.0
has_forbidden_char = False
has_discount_char = False

# Список гласных букв в нижнем регистре (русские и английские)
vowels = "аеёиоуыэюяaeiou"

# Перебираем каждый символ во введенном тексте с помощью цикла for
for char in ad_text:
    # Проверяем, не является ли символ запрещенным
    if char == '@' or char == '#':
        has_forbidden_char = True  # Устанавливаем флаг, что найден запрещенный символ
        break  # Немедленно прерываем цикл, дальнейший расчет бессмысленен

    # Если символ - пробел, он бесплатный, переходим к следующему символу
    if char == ' ':
        continue

    # Если символ - восклицательный знак, он бесплатный, но дает право на скидку
    if char == '!':
        has_discount_char = True  # Устанавливаем флаг скидки
        continue

    # Рассчитываем стоимость текущего символа
    current_char_price = base_price

    # Проверяем, является ли символ гласной (приведя его к нижнему регистру)
    if char.lower() in vowels:
        current_char_price = current_char_price * 1.5  # Применяем наценку 50%

    # Добавляем стоимость текущего символа к общей стоимости
    total_cost = total_cost + current_char_price

# После цикла проверяем, был ли найден запрещенный символ
if has_forbidden_char:
    print("Ошибка: в названии содержатся запрещенные символы.")
else:
    # Если запрещенных символов не было, проверяем, нужно ли применить скидку
    if has_discount_char:
        total_cost = total_cost * 0.9  # Применяем скидку 10%

    # Выводим итоговую стоимость, отформатированную до двух знаков после запятой
    print(f"Итоговая стоимость: {total_cost:.2f} руб.")

🎉 Parabéns! 🎉

Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.

AD

Publicidade

red-snake blue-snake green-snake

Executando seu código...

Assistente de IA

Olá! Sou seu assistente de programação. Faça qualquer pergunta sobre Python — posso explicar funções, métodos e ajudá-lo com a tarefa atual!