• 1
    Entrée et sortie
    • Tâches
  • 2
    Conditions
    • Tâches
  • 3
    Boucle for
    • Tâches
  • 4
    Chaînes
    • Tâches
  • 5
    Boucle while
    • Tâches
  • 6
    Listes
    • Tâches
  • 7
    Tableaux 2D
    • Tâches
  • 8
    Dictionnaires
    • Tâches
  • 9
    Ensembles
    • Tâches
  • 10
    Fonctions et récursion
    • Tâches
  • к

Leçon 3. FOR cycle

Difficulté :

Exercice«Nom sur le panneau»

💻 Python

Vous avez obtenu un emploi dans l'agence de publicité créative "creativeplus". Votre première tâche & mdash; Créer un calculateur pour estimer le coût de placement d'un texte sur un panneau publicitaire. Le directeur de l'agence a mis au point un système de tarification astucieux pour inciter les clients à choisir des noms « sonores » et « sûrs ».

rn

Règles de calcul du coût :

rn
    rn
  1. Coût de base : & nbsp; Le coût d'un symbole est saisi par l'utilisateur.
  2. rn
  3. Espaces : & nbsp; Ils sont gratuits.
  4. rn
  5. Voyelles : & nbsp; Les voyelles (russes et anglaises, quelle que soit la casse) sont considérées comme plus « attirant l'attention », donc leur coût est 50 % plus élevé que le coût de base.
  6. rn
  7. Symboles interdits : & nbsp; Les symboles & nbsp; '@' & nbsp; et & nbsp; '#' & nbsp; sont interdits pour des raisons techniques. Si au moins l'un d'eux est trouvé dans le nom, le calcul est impossible et le programme doit afficher un message d'erreur.
  8. rn
  9. Symbole porte-bonheur : & nbsp; Le point d'exclamation ( '!' ) fait partie d'une action spéciale. Il est gratuit en lui-même, mais s'il est présent dans le nom, sur & nbsp; le coût final & nbsp; de l'inscription entière, une réduction de 10 % est appliquée.
  10. rn

    Vous devez écrire un programme qui demande à l'utilisateur le nom et le coût de base du symbole, puis calcule et affiche le prix total en tenant compte de toutes les règles.

    Format d entrée

    le nom du panneau publicitaire (chaîne de caractères)
    le coût de base d'un symbole (nombre à virgule flottante)

    Format de sortie

    Le coût total est affiché avec jusqu'à deux chiffres après la virgule ou un message d'erreur

    Exemple

    Entrée

    Le meilleur prix !
    100.0

    Sortie

    Coût final : 1125,00 roubles.

    Indice

    There will be no clue here, decide for yourself!

main.py
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
Test 9
Test 10
Solution du développeur
# Получаем название для рекламы и базовую стоимость одного символа
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} руб.")

🎉 Félicitations ! 🎉

Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.

AD

Publicité

red-snake blue-snake green-snake

Exécution de votre code...

Assistant IA

Bonjour ! Je suis ton assistant de programmation. Pose moi toutes tes questions sur Python — je peux t expliquer les fonctions, les méthodes et t aider avec la tâche en cours !