• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 3. FOR cycle

难度:

任务«广告牌上的名字»

💻 Python

你在创意广告公司"CreativePlus"找到了一份工作。你的第一个任务——创建一个计算器,用于计算在广告牌上放置文字的成本。公司总监设计了一套狡猾的定价系统,以激励客户选择"响亮"和"安全"的名称。

成本计算规则:

  1. 基础成本: 每个字符的成本由用户输入。
  2. 空格: 空格是免费的,不收费。
  3. 元音加成: 元音字母(俄语和英语,不分大小写)被认为更"吸引注意力",因此其成本比基础成本高50%。
  4. 禁止字符: 字符 '@' 和 '#' 因技术原因被禁止使用。如果在名称中发现至少一个此类字符,则无法计算,程序应显示错误信息。
  5. 幸运字符: 感叹号('!')属于特殊活动。它本身是免费的,但如果名称中包含它,则最终整个广告牌的成本将享受10%的折扣。

你需要编写一个程序,向用户请求名称和每个字符的基础成本,然后根据所有规则计算并显示总价格。

输入格式

广告牌的名称(字符串)
每个符号的基本成本(浮点数)

输出格式

总成本最多保留两位小数,否则显示错误信息

示例

输入

最优价格!
100.0

输出

最终费用:1125.00 卢布

提示

There will be no clue here, decide for yourself!

main.py
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Получаем название для рекламы и базовую стоимость одного символа
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} руб.")

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!