Quel est le nombre de valeurs contenant un chiffre dans mon taleaux ?
LucasGrandviergne
Messages postés
17
Statut
Membre
-
khrug -
khrug -
Hello la communauté !
Je suis bloqué sur cet exercice où il m'est demandé d'afficher le nombre de valeur de ce tableau comportant un chiffre mais je n'y arrive pas. Je suis débutant pouvez vous m'aider svp ? Merci d'avance.
Voici mon code :
Je suis bloqué sur cet exercice où il m'est demandé d'afficher le nombre de valeur de ce tableau comportant un chiffre mais je n'y arrive pas. Je suis débutant pouvez vous m'aider svp ? Merci d'avance.
Voici mon code :
array = ["@jcunniet","@PaulLampon","@Aziliz31","@ssoumier","@marionsouzeau","@gaellombart","@bendarag","@AurelieLebelle","@julienduffe","@thomaspoupeau","@LilyRossignol","@ClairGuedon","@stephanieauguy","@claw_prolongeau","@_JulieMenard","@LColcomb","@Zlauwereys","@MeLonguet","@DorotheeLN","@NolwennCosson","@ADaboval","@Remibaldy","@bderveaux","@amandechap","@ELODIESOULIE","@nbongarcon","@HeloAb","@Panamorama","@gregplou","@BenoitBerthe","@LauraBruneau89","@Anthony_Lieures","@Sharonwaj","@mcsonkin","@pverduzier","@emiliel3","@Julien_MARION","@SophiFay","@bdelombre","@annalecerf","@AdriaBudry","@DejNikolic","@iJaffre","@CyrusleVirus","@GPardigon","@e_vallerey","@IsabelleSouquet","@AudeDavidRossi","@Yoann_Pa","@CeliaPenavaire","@perraultvincent","@cboulate","@JustineWeyl","@Paulinejacot","@juliechab","@aslechevallier","@phnou","@Seb_Pommier","@Alex_Bensaid","@GuillaumeGaven","@annelaurechouin","@Oliviader","@guerricp","@JMMarchaut","@cyceron","@gregory_raymond","@vhunsinger","@l_peillon","@fannyguinochet","@EAssayag","@KibweAdom","@YvonHerry","@JohanGarciajg","@saidlabidi","@lauranneprov","@LeaDavy","@francois_remy","@CGuicheteau","@FloMaillet","@m_perroud","@oBrunet_TSMF","@MoonVdc","@jc2taille","@NellyMoussu","@VirginK","@b_misa","@FabriceCouste","@barbara_prose","@lelia2m","@brunoaskenazi","@laurenechamp","@ysisbox","@juliengagliardi","@PierreLel","@kdeniau","@_TerraInc","@DominicArpin","@antoinfonteneau","@nanotousch","@jb_roch","@YaniKhezzar","@Anne_Bechet","@NCapart","@SamyBenNaceur","@Joumany","@Julietteraynal","@TGiraudet","@SaraTanit","@HappeFrederic","@antoinellorca","@michelpicot","@Sev_Ryne","@bobdobolino","@murdever","@YGrandmontagne","@Mnyo","@EdKOSCIANSKI","@tnoisette","@jankari","@delbello_rom","@rflechaux","@NadiaSorelli","@IT_Digital","@abarbaux","@PhilippeLeroy","@schaptal","@marionspee","@lisavignoli","@ChloeAeberhardt","@MartineJacot","@JuliaPascualita","@curieusedetout","@sgraveleau","@bif_o","@ElisaPineau","@zinebdryef","@apiquard","@pierrehaski","@StephanieDelmas","@Blandine_Garot","@vergara_i","@evan_lebastard","@SophieVclt","@OlivierLevrault","@alicedorgeval","@LouiseMalnoy","@alix_fx","@pierre_baudis","@LucMagoutier","@AgatheMuller","@SGianninelli","@PaulineBoyer33","@NaomiHalll","@romaindlx","@marionbr","@Burtschy","@JacobEtienne","@as_lizzani","@marie_simon","@LaureDaussy","@FabriceAmedeo","@LoubnaChlaikhy","@PlummerWilliam","@OlivierMarin1","@alaurefremont","@mwesfreid","@ChBaDe","@pmathon","@theobaldmarie","@Lnpagesy","@marclandre","@paoliniesther","@Feertchak","@JBLitzler","@GuillaumeErrard","@quentinperinel","@TristanQM","@mlbo","@constancejamet","@LoraTerrazas","@emiliegeffray","@Mathilde_Sd","@CaroPiquet","@DCanivez","@TIM_7375","@blandinelc","@ivanrioufol","@arthurberdah","@SarahLecoeuvre","@guillaume_gui","@DamienMercereau","@W_Chloe","@Assma_MD","@EugenieBastie","@HiTech_lexpress","@bcondominas","@Laurie_Z_","@jeanfrancgerard","@MathieuPagura","@BGUYF","@AlainPiffaretti","@AudreyKucinskas","@julienhory","@Pierrefalga","@TiphThuillier","@cdaniez","@LigerBaptiste","@D_Peras","@julie_dlb","@Fatiha_Temmouri","@julian2lamancha","@GaetaneDeljurie","@JulianMattei","@M_Vicuna","@DeBruynOlivier","@Nehed_Jendoubi","@antoine_grenapi","@ColonnaGen","@VictoriaGairin","@Clement_Lacombe","@TVigoureux","@MargauxObriot","@solinedelos","@RocheSabine","@dangerkens","@EdouardDutour","@MDondeyne","@DupuisNathalie1","@bouscarel","@Mathieu2jean","@Sophie_T_J","@laurentcalixte","@patrockwilliams","@PascaleKremer","@AlexJaquin","@LauraIsaaz","@cath_robin","@Del_Gautherin","@Isaduriez","@lucietuile","@AugeyBastien","@mcastagnet","@AminaKalache","@mvaudano","@CParrot","@ombelinetips","@_JoinLion","@BarbolosiRose","@ToiBruno1","@FloraClodic","@xjbdx","@AlexiaEy","@Emjy_STARK","@elcoco01","@rabilebon","@pflovens_","@FabriceFrossard","@MorganeSERRES","@MarjolaineKoch","@edgarsnow","@SRNLF","@CChassigneux","@KerinecMoran","@NassiraELM","@NewsRicard","@Sandreene","@Emilezrt","@Pierre_Do","@Micode","@CColumelli","@DavidAbiker","@ClementBergantz","@benjaminrabier","@celinekallmann","@edwyplenel","@C_Barbier","@JJBourdin_RMC","@LaurenceFerrari","@aslapix","@IsaMillet","@MaximeSwitek","@tomjoubert","@jszanchi","@roqueeva","@XavierBiseul","@florencesantrot","@AntoineCrochet","@freeman59","@MaudeML","@philippe_gulpi","@mathieum76","@kiouari","@imanemoustakir","@BenedicteMallet","@Emilie_Brouze","@antoinebarret","@_nicolasbocquet","@remibuhagiar","@CourretB","@AymericRobert","@miraelmartins","@pmaniere","@jesuisraphk","@David_Ingram","@pcelerier","@technomedia","@Geraldinedauver","@ThierryLabro","@Newsdusud","@nrauline","@gbregeras","@SCouasnonBFM","@actualites_nrv","@dimitrimoulins","@oli_aura","@FabieChiche","@Vincent_Raimblt","@ChristophGreuet","@PAlbuchay","@MarrauddesGrot","@vtalmon","@cedric","@olivierfrigara","@Julien_Jay","@LydiaBerroyer","@Shuua","@datisdaz","@Steuph","@ameliecharnay","@Bruno_LesNums","@LelloucheNico","@CciliaDiQuinzio","@Elodie_C","@SylvRolland","@Kocobe","@FL_Debes","@jdupontcalbo","@GarciaVictor_","@NicoRichaud","@RHoueix","@simottel","@DamienLicata","@annabelle_L","@Lea_Lejeune","@axel_deb","@marin_eben","@ptiberry","@MatthieuDelach","@sandrinecassini","@benjaminferran","@ppgarcia75","@NotPatrick","@ivalerio","@FabienneSchmitt","@alexgoude","@JeromeColombain","@manhack","@Capucine_Cousin","@Fsorel","@oliviertesquet","@marjoriepaillon","@ginades","@PierreTran","@DelphineCuny","@reesmarc","@lauratenoudji","@ldupin","@carolinedescham","@Lucile_Quillet","@cgabizon","@Allocab","@epenser","@JAGventeprivee","@frwrds","@Laure__Bourdon","@Xavier75","@maximeverner","@s_jourdain","@LoriHelloc"]
count = 0
array.each { |handle|
if handle <= 9
then count += 1
puts handle
end
}
A voir également:
- Quel est le nombre de valeurs contenant un chiffre dans mon taleaux ?
- Clavier iphone chiffre et lettre - Guide
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Nombre de jours entre deux dates excel - Guide
- Chiffre en lettre - Télécharger - Outils professionnels
1 réponse
Bonjour.
Dans ton code, tu compares un String et un entier, il faut donc utiliser '9' et non 9.
De plus, tu compares une chaîne composée de plusieurs caractères avec un seul caractère, donc ça ne pourra jamais retourner quelque chose de correct.
Sinon, pour faire de simples tests, inutiles de travailler sur un array si grand, deux simples valeurs suffisent.
La méthode la plus basique serait de faire.
On peut faire autrement en utilisant un array des chiffres, et utiliser la méthode include? d'Array.
On peut faire bien plus simple avec une expression régulière basique.
Une autre méthode qui je pense doit être bien plus lente est de soustraire l'array des chiffres à celui de la chaîne transformée en Array, et de comparer si le résultat est toujours identique à celui de l'array de la chaîne.
Il te reste désormais à implémenter ton compteur, cela ne devrait pas te poser beaucoup de problèmes.
Dans ton code, tu compares un String et un entier, il faut donc utiliser '9' et non 9.
De plus, tu compares une chaîne composée de plusieurs caractères avec un seul caractère, donc ça ne pourra jamais retourner quelque chose de correct.
Sinon, pour faire de simples tests, inutiles de travailler sur un array si grand, deux simples valeurs suffisent.
array = ['toto', 'toto45',]
La méthode la plus basique serait de faire.
# Pour chaque élément de l'array
array.each{|el|
digit = false
# Pour chaque caractère de l'élément
el.each_char{|char|
if char >= '0' and char <= '9'
# il y a un chiffre
digit = true
# On cesse le parcours puisqu'on sait que l'élément contient un chiffre
break
end
}
puts "#{el}, #{digit}"
}
On peut faire autrement en utilisant un array des chiffres, et utiliser la méthode include? d'Array.
# La syntaxe ('0'..'9') est un Range
nums = ('0'..'9').to_a
array.each{|el|
digit = false
el.each_char{|char|
if nums.include? char
digit = true
break
end
}
puts "#{el}, #{digit}"
}
On peut faire bien plus simple avec une expression régulière basique.
array.each{|el|
digit = el.match('[0-9]') != nil
puts "#{el}, #{digit}"
}
Une autre méthode qui je pense doit être bien plus lente est de soustraire l'array des chiffres à celui de la chaîne transformée en Array, et de comparer si le résultat est toujours identique à celui de l'array de la chaîne.
nums = ('0'..'9').to_a
array.each{|el|
# Conversion du String en Array de ses caractères
chars = el.chars
digit = chars - nums != chars
puts "#{el}, #{digit}"
}
Il te reste désormais à implémenter ton compteur, cela ne devrait pas te poser beaucoup de problèmes.