Bonsoir;
y a t il quelqu'un qui pourrait m'aider à résoudre cet exercice
The weather.sh utility in the current working directory provides weather forecasts in your area. When called, it outputs a 4-day forecast in the format "day: weather" separated by line breaks.
Write a bash script that outputs the number of days with a "Thunderstorm" forecast (case- sensitive).
Forum Programmation.shell Unix, pipelines
1
juil.
2024
# facile
Posté par Krunch (site web personnel) . Évalué à 9 (+7/-0).
Oui, c'est très facile. Pour commencer il te faut un système d'exploitation. Je te suggère LFS, c'est le mieux pour apprendre : https://www.linuxfromscratch.org/lfs/download.html
Une fois que tu aura installé LFS tu devrais avoir acquis les connaissances nécessaires pour résoudre le problème.
Joyeux amusement.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: facile
Posté par shella . Évalué à 1 (+0/-0). Dernière modification le 02 juillet 2024 à 07:19.
je vous remercie énormément, pour le lFS je le suis pas à pas pour construire ma propre distribution, main ici je vais passer un test dans 2 jours, et j'ai trouvé cet exercice qui est classé comme difficile.
j'ai réussi à le resoude de 33% (le score à la fin) :
mais je ne sais pas pourquoi il n'est pas juste à 100%, ça fait des jours de tentatives de résolution, mais aucune autre idée
[^] # Re: facile
Posté par NeoX . Évalué à 6 (+3/-0).
le debug du pauvre, affiche le resultat de ton "thunderstorm_count"
ainsi tu sauras ce qu'il y a dedans, ensuite regarde tes conditions…
accessoirement fait toi un jeu de test ou tu maitrises l'entrée (ex un fichier ressemblant à la sortie de weather.sh, mais qui t'appartient et que tu peux modifier librement
ainsi tu testes avec toujours le meme fichier pour etre sur d'avoir la meme entrée, et donc logiquement la meme sortie
# Voir aussi
Posté par Ysabeau 🧶 🧦 (site web personnel, Mastodon) . Évalué à 5 (+2/-0). Dernière modification le 01 juillet 2024 à 21:47.
Ceete page du wiki notamment le paragraphe : "Aidez-moi à faire cet exercice, c'est pour hier !".
« Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.
[^] # Re: Voir aussi
Posté par shella . Évalué à 1 (+0/-0).
merci, mais ici ça fait des jours que je stagne sur cet exercice, peu de gens ont pu résoudre cet exercice et je tente ma chance si kelk un parmi eux passe par là
# Consigne
Posté par cg . Évalué à 2 (+0/-0).
Une idée comme ça… la consigne est :
Et non pas :
[^] # Re: Consigne
Posté par shella . Évalué à 1 (+0/-0). Dernière modification le 01 juillet 2024 à 23:26.
merci pour votre réponse mais je n'ai pas compris votre raisonnement
else
echo "Number of days with Thunderstorm forecast: $thunderstorm_count"
traite les autres cas
[^] # Re: Consigne
Posté par cg . Évalué à 6 (+4/-0). Dernière modification le 01 juillet 2024 à 23:46.
C'est bien plus simple : il faut afficher le nombre de fois qu'on trouve Thunderstorm. C'est tout. Rien d'autre. Juste un nombre. Pas des phrases. J'ai pu vérifier en faisant le test est j'ai eu 100% (nananère).
Pourquoi est-ce important de suivre la consigne ? Parce qu'en programmation, on défini des formats, des interfaces, des types de données, pour pouvoir les traiter et faire des opérations avec sans surprise.
Imagine que tu fais un truc qui compte les carottes dans ton garde-manger, et qui détermine combien de carottes tu dois acheter pour en avoir 10 :
Si
carottes_dans_le_garde_manger
vautaucune
au lieu de0
, ben ta soustraction ne va pas fonctionner, ton programme va planter et tu vas crever de faim.Donc simplifie ton programme et croque une carotte :).
[^] # Re: Consigne
Posté par shella . Évalué à 2 (+1/-0).
merci énormément pour votre réponse mais j'ai essayé toute la première fois d'afficher seulement la variable $thunderstorm_count, c'est pour cette raison que j'ai fait plusieurs modifications pour résoudre la question à 100%
il m'affiche que le script ne marche pas en cas
* The forecast contains no thunderstorms: Wrong answer
*The forecast contains some thunderstorms: Wrong answer
alors que j'ai essayé mon script sur plusieurs cas, en cas de 0 ou plusieurs jours de thunderstorm et il fonctionne très bien, mais toujours j'obtiens un score de 33%
[^] # Re: Consigne
Posté par BAud (site web personnel) . Évalué à 2 (+0/-0). Dernière modification le 02 juillet 2024 à 00:20.
pourquoi se compliquer la vie ? c'est un one-liner trivial
il faut simplement sortir le chiffre obtenu… et hop, 100%
[^] # Re: Consigne
Posté par shella . Évalué à 1 (+0/-0).
merci pour vous, enfin j'ai eu 100%
[^] # Re: Consigne
Posté par cg . Évalué à 3 (+1/-0).
Oui, sauf que sur le site de test…
Ce programme fonctionne :
Et celui-ci ne fonctionne pas, mais fonctionne bien sur ma machine :
Du coup je pense que shella a buté sur un bête bug du site de test. Pas cool.
Bon courage pour la suite !
[^] # Re: Consigne
Posté par BAud (site web personnel) . Évalué à 4 (+2/-0). Dernière modification le 02 juillet 2024 à 00:45.
bin faire exécuter le contenu d'une variable c'est toujours casse-gueule à échapper selon que c'est utilisé directement dans le shell en ligne de commande, exécuté dans un script shell ou appelé par un autre script shell ou encore dans le cron… tu passes ton temps à mettre des
\
de partout :/[^] # Re: Consigne
Posté par shella . Évalué à 1 (+0/-0).
Encore une fois, merci du fond du cœur.
Avec toute ma gratitude
[^] # Re: Consigne
Posté par BAud (site web personnel) . Évalué à 3 (+1/-0).
boah, la prochaine fois, indique testdome tout de même et entraîne-toi à citer du code en Markdown comme indiqué sur le wiki aide-édition code — même si la modération est passée par là pour éditer ton commentaire ;-)
d'ailleurs, si tu as envie de lister les plateformes sur lesquelles tu t'entraînes, ce sera la bienvenue :p (même si cg< a été capable de le retrouver…) ; tu peux les lister à la fin de ton entrée de forum (que tu peux éditer).
[^] # Re: Consigne
Posté par shella . Évalué à 1 (+0/-0).
je vous remercie pour votre temps et votre empathie
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.