• 1
    Entrada y salida de datos
    • Tareas
  • 2
    Condiciones
    • Tareas
  • 3
    Bucle for
    • Tareas
  • 4
    Cadenas de texto
    • Tareas
  • 5
    Bucle while
    • Tareas
  • 6
    Listas
    • Tareas
  • 7
    Matrices 2D
    • Tareas
  • 8
    Diccionarios
    • Tareas
  • 9
    Conjuntos
    • Tareas
  • 10
    Funciones y recursión
    • Tareas
  • к

Lección 3. FOR cycle

Dificultad:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Tarea«Nombre en cartel publicitario»

💻 Python

Conseguiste un trabajo en la agencia de publicidad creativa "creativeplus". Tu primera tarea — Crear una calculadora para calcular el costo de colocar texto en un cartel publicitario. El director de la agencia ideó un astuto sistema de precios para estimular a los clientes a elegir nombres "sonoros" y "seguros".

Reglas para calcular el costo:

  1. Costo base:   El costo de un símbolo es ingresado por el usuario.
  2. Espacios:   Son gratuitos, no se pagan.
  3. Vocal sonora:   Las vocales (rusas e inglesas, en cualquier mayúscula o minúscula) se consideran más "llamativas", por lo tanto su costo es un 50% mayor que el base.
  4. Símbolos prohibidos:   Los símbolos   '@'   y   '#'   están prohibidos por razones técnicas. Si se encuentra al menos uno de ellos en el nombre, el cálculo es imposible y el programa debe mostrar un mensaje de error.
  5. Símbolo de la suerte:   El signo de exclamación ( '!' ) es parte de una acción especial. Es gratuito en sí mismo, pero si está presente en el nombre, sobre   el costo final   de toda la inscripción se aplica un 10% de descuento.

Debes escribir un programa que solicite al usuario el nombre y el costo base del símbolo, y luego calcule y muestre el precio total teniendo en cuenta todas las reglas.

Formato de entrada

el nombre del escudo publicitario (cadena)
el costo básico de un símbolo (flotante)

Formato de salida

El costo total tiene hasta dos signos después del punto o un mensaje de error

Ejemplo

Entrada

¡El mejor precio!
100.0

Salida

Final cost: 1125.00 rub.

Pista

There will be no clue here, decide for yourself!

main.py
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
Prueba 6
Prueba 7
Prueba 8
Prueba 9
Prueba 10
Solución del desarrollador
# Получаем название для рекламы и базовую стоимость одного символа
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} руб.")

🎉 ¡Felicidades! 🎉

¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.

AD

Publicidad

red-snake blue-snake green-snake

Ejecutando tu código...

Asistente de IA

¡Hola! Soy tu asistente de programación. Hazme cualquier pregunta sobre Python — puedo explicarte funciones, métodos y ayudarte con la tarea actual.