Récapitulatif - Vecteur de prix
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 60 sur 78.
Défi
FacileVous recevrez deux lignes d'entrée :
- Une liste de prix originaux séparés par des virgules (par exemple,
100,200,150,80) - Un pourcentage de remise sous forme de nombre entier (par exemple,
20pour 20 %)
Effectuez les opérations suivantes :
- Créez un vecteur à partir des prix séparés par des virgules
- Le responsable du magasin a remarqué que le troisième article était mal étiqueté. Changez-le en
125 - Appliquez la remise à tous les prix (multipliez par
(100 - discount) / 100) - Affichez le vecteur des prix remisés
- Affichez le total de tous les prix remisés en utilisant
sum() - Affichez le prix remisé moyen en utilisant
mean()
Par exemple, si les entrées sont :
100,200,150,80
20La sortie devrait être :
[1] 80 160 100 64
[1] 404
[1] 101Explication : Le troisième prix est remplacé par 125, puis une remise de 20 % est appliquée (multiplication par 0.8), ce qui donne les prix 80, 160, 100 et 64.
Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
prices_input <- suppressWarnings(readLines(con, n = 1))
discount <- suppressWarnings(readLines(con, n = 1))
close(con)
# Convertir les entrées
original_prices <- as.numeric(unlist(strsplit(prices_input, ",")))
discount_percent <- as.numeric(discount)
# TODO: Écrivez votre code ci-dessous
# 1. Changer le troisième article à 125
# 2. Appliquer la remise à tous les prix
# 3. Afficher le vecteur des prix remisés
# 4. Afficher le total en utilisant sum()
# 5. Afficher la moyenne en utilisant mean()Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique11Vecteurs
Créer des vecteurs avec c()Accéder aux éléments d'un vecteurModifier des vecteursOpérations sur les vecteursRécapitulatif - Vecteur de prixRécapitulatif - Vecteur inverséVecteurs nommés3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut