Faits :
A.
A.a. Le 19 mai 2009, X._ SA (ci-après: l'entrepreneur ou la demanderesse) et D.Z._ ont conclu un contrat d'entreprise portant sur des travaux de chauffage et de ventilation, y compris les prestations d'ingénieur, les raccordements électriques et les travaux de génie civil. Les travaux concernaient la villa familiale qu'habitent D.Z._, A.Z._, B.Z._ et C.Z._ (ci-après: les maîtres de l'ouvrage ou les défendeurs), érigée sur la parcelle n°... de la Commune de.... Le contrat prévoyait un prix forfaitaire de 240'000 fr. toutes taxes comprises, payable en trois acomptes, soit 60'000 fr. à la signature du contrat, 60'000 fr. au début des travaux et 120'000 fr. avant la mise en service. Les travaux devaient commencer le 15 juin 2009 et se terminer le 7 août 2009, voire le 24 juillet 2009 si les délais de livraison des appareils le permettaient.
A.b. L'entrepreneur a pris du retard sur le chantier. En réponse aux maîtres de l'ouvrage qui se plaignaient du retard accumulé et du froid qui régnait dans leur villa, il a indiqué par courriel du 1er octobre 2009 que le chauffage pourrait être mis en service le 20 octobre 2009. Il a par la suite annoncé la fin des travaux pour le 20 novembre 2009.
Le 2 octobre 2009, l'entrepreneur a été averti par C.Z._ que tout dommage causé aux pavés de la cour en raison du poids des machines serait de sa responsabilité. Il a donc procédé à l'enlèvement des pavés de la cour, lesquels ont été remplacés par un nouveau revêtement, choisi et imposé par l'un des membres de la famille Z._. Les parties ont admis que la réfection du pavage de la cour représentait un coût de plus de 10'000 fr.
Le 8 décembre 2009, l'entrepreneur a adressé à D.Z._ une facture de 120'000 fr., correspondant au troisième acompte prévu par le contrat du 19 mai 2009. Ce montant n'ayant jamais été acquitté, il n'a pas terminé les travaux de finition restants.
La villa des maîtres de l'ouvrage ne fut pas assez chauffée durant l'hiver 2009-2010. Ils s'en sont plaints auprès de l'entrepreneur, en se prévalant du mauvais fonctionnement de l'installation de chauffage et d'une température inférieure à 15° C, qui avait nécessité l'évacuation des enfants de la famille.
A.c. Sur requête de D.Z._ du 12 janvier 2010, le Juge de paix du district de Lavaux-Oron a chargé L._ AG d'effectuer une expertise hors procès concernant l'installation posée par l'entrepreneur. Il résulte du rapport d'expertise déposé le 29 octobre 2010 que l'installation nécessitait d'être terminée, les radiateurs électriques prévus devant être installés et la puissance des radiateurs à l'étage augmentée de 40%.
Le 9 novembre 2010, les maîtres de l'ouvrage se sont prévalus des conclusions de l'expert hors procès pour valoir avis des défauts.
Sur requête des maîtres de l'ouvrage, l'expert hors procès a déposé un complément d'expertise le 25 mai 2011 portant sur les coûts des travaux correctifs préconisés et le surcoût généré par les dépenses d'énergie supplémentaires consécutives à l'état défectueux de l'installation.
A.d. Par ordonnance de mesures provisionnelles du 4 août 2010, confirmant partiellement une ordonnance de mesures préprovisionnelles du 12 juillet 2010, le Juge instructeur de la Cour civile du Tribunal cantonal a ordonné l'inscription provisoire au registre foncier d'une hypothèque légale des artisans et entrepreneurs d'un montant de 120'000 fr., avec intérêts à 5% l'an dès le 10 février 2010, plus accessoires légaux, en faveur de l'entrepreneur sur la parcelle n°... de la Commune de... et a dit que l'inscription provisoire resterait valable jusqu'à l'échéance d'un délai de trois mois après droit connu sur le fond du litige.
B.
B.a. Par demande du 1er novembre 2010, l'entrepreneur a notamment conclu à ce que les maîtres de l'ouvrage soient reconnus ses débiteurs solidaires et lui doivent immédiat paiement de la somme de 172'300 fr., plus intérêts à 5% l'an dès le 10 février 2010 sur 157'300 fr. et dès le 24 mars 2010 sur 15'000 fr., et à ce qu'il soit donné ordre au conservateur du Registre foncier de procéder à l'inscription définitive d'une hypothèque légale des artisans et entrepreneurs d'un montant de 120'000 fr. plus intérêts à 5% l'an dès le 10 février 2010 en sa faveur sur l'immeuble des maîtres de l'ouvrage.
La somme de 172'300 fr. correspond à l'acompte de 120'000 fr. demeuré impayé, soit au solde du prix forfaitaire, et la somme de 52'300 fr. correspond aux travaux de plus-value.
Les défendeurs ont conclu au rejet de la demande et ont déclaré opposer en compensation leurs prétentions à hauteur de 232'031 fr.
B.b. En cours d'instance, une expertise a été confiée à M._. Lorsque cet expert a visité la villa des défendeurs le 4 mars 2014, la société U1._, avait déjà exécuté des travaux sur l'installation de chauffage posée par la demanderesse. L'expert a donc également fondé son rapport sur les plans et les schémas de conception de l'installation et sur l'entretien qu'il a eu avec U._. Les constatations de l'expert judiciaire seront reprises en tant que de besoin dans la partie en droit.
B.c. Par jugement du 23 décembre 2016, la Cour civile du Tribunal cantonal du canton de Vaud a rejeté les conclusions prises par la demanderesse contre les défendeurs et ordonné au conservateur du Registre foncier de procéder à la radiation de l'inscription provisoire de l'hypothèque légale des artisans et entrepreneurs. Elle a retenu une déduction totale sur le prix forfaitaire des travaux de 27'881 fr. 60 et ajouté un montant de 10'001 fr. à titre de travaux à plus-value. Du montant de 102'119 fr. 40 obtenu (240'000 fr. - 60'000 fr. - 60'000 fr. - 27'881 fr. 60 + 10'001 fr.), elle a cependant déduit 166'761 fr. 70 à titre de réduction de prix en raison des défauts qui entachaient l'ouvrage, de sorte que D.Z._, qui était seul tenu par le contrat, ne devait aucun montant à la demanderesse.
B.d. Statuant le 16 janvier 2018, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a rejeté l'appel interjeté par la demanderesse et confirmé le jugement de première instance.
C.
Contre cet arrêt, la demanderesse a interjeté un recours en matière civile au Tribunal fédéral le 19 février 2018, concluant principalement à sa réforme en ce sens que D.Z._ soit condamné à lui payer la somme de 114'836 fr. 12 plus intérêts à 5% l'an dès le 10 février 2010, qu'ordre soit donné au conservateur du Registre foncier du district Lavaux-Oron de procéder à l'inscription définitive d'une hypothèque légale des artisans et entrepreneurs en sa faveur sur l'immeuble dont sont propriétaires les défendeurs sur le territoire de la Commune de... pour le montant précité, qu'ordre soit donné au conservateur du Registre foncier du district Lavaux-Oron de maintenir l'inscription provisoire de l'hypothèque légale grevant la parcelle n°... de la Commune de... en sa faveur à hauteur de 5'163 fr. 88 plus intérêts à 5% l'an dès le 10 février 2010 et que l'affaire soit renvoyée à la Cour d'appel civile du Tribunal cantonal du canton de Vaud aux fins d'établissement d'une expertise sur la valeur des travaux de remplacement des pavés de la cour qu'elle a facturés 30'000 fr., suivie d'une condamnation des défendeurs au paiement du montant arrêté par l'expert et l'inscription définitive d'une hypothèque légale en sa faveur à hauteur de 5'163 fr. 88 plus intérêts à 5% l'an dès le 10 février 2010. Subsidiairement, elle a conclu au renvoi de l'affaire à la Cour d'appel civile du Tribunal cantonal du canton de Vaud pour nouvelle décision dans le sens des considérants. Elle se plaint de violation des art. 169 al. 1 de la norme SIA 118, 8 CC, ainsi que des art. 82, 102 ss, 107 al. 2, 367, 368, 371 et 374 CO. Elle se plaint également à plusieurs reprises d'arbitraire dans l'établissement des faits (art. 9 Cst.), de violation du droit d'être entendu (art. 29 Cst.) et requiert plusieurs complètements de l'état de fait.
Les défendeurs intimés ont conclu principalement à l'irrecevabilité du recours, subsidiairement au rejet de celui-ci. La cour cantonale s'est référée aux considérants de son arrêt.
La demande d'effet suspensif de la demanderesse a été acceptée par ordonnance du 9 mars 2018.

Considérant en droit :
1.
Interjeté en temps utile (<ref-law>) par la demanderesse qui a succombé dans ses conclusions en paiement (<ref-law>), contre une décision finale (<ref-law>) rendue sur appel par le tribunal supérieur du canton (<ref-law>) dans une affaire de contrat d'entreprise (<ref-law>), dont la valeur litigieuse est supérieure à 30'000 fr. (<ref-law>), le recours en matière civile est recevable au regard de ces dispositions.
2.
2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 4.1.2; <ref-ruling> consid. 5.1) - ou en violation du droit au sens de l'<ref-law> (<ref-law>), et si la correction du vice est susceptible d'influer sur le sort de la cause (<ref-law>).
Concernant l'appréciation des preuves, le Tribunal fédéral n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (<ref-ruling> consid. 4.2; <ref-ruling> consid. 4.2; <ref-ruling> consid. 4.3; <ref-ruling> consid. 1.4.3; <ref-ruling> consid. 2.1).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'<ref-law> (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18). Les critiques de nature appellatoires sont irrecevables (<ref-ruling> consid. 1.3 p. 261 s.).
Les faits nouveaux sont irrecevables devant le Tribunal fédéral (<ref-law>). En outre, en vertu du principe de l'épuisement des griefs, tant sur le plan procédural que sur le plan matériel, le recourant ne peut pas invoquer des moyens de fait qu'il n'a pas soulevés en temps utile devant l'autorité cantonale, pour obtenir un résultat plus favorable en procédure de recours (<ref-law>; <ref-ruling> consid. 1.1; <ref-ruling> consid. 1.3; arrêt 4A_501/2018 du 3 décembre 2018 consid. 4.2). De tels moyens sont en effet nouveaux et, partant, irrecevables (<ref-law>).
2.2. Sous réserve de la violation des droits constitutionnels (<ref-law>), le Tribunal fédéral applique le droit d'office (<ref-law>). Il n'est toutefois lié ni par les motifs invoqués par les parties, ni par l'argumentation juridique retenue par l'autorité cantonale; il peut donc admettre le recours pour d'autres motifs que ceux invoqués par le recourant, comme il peut le rejeter en opérant une substitution de motifs (<ref-ruling> consid. 1.4 et l'arrêt cité).
3.
La recourante se plaint de ce que la cour cantonale n'a pas retenu que la norme SIA 118 était applicable au contrat en cause.
3.1.
3.1.1. Matériellement, la norme SIA 118, dont les dispositions ont valeur de conditions générales préformulées, ne s'applique que si les parties l'ont intégrée à leur contrat d'entreprise (<ref-ruling> consid. 2a; arrêts 4A_667/2016 du 3 avril 2017 consid. 3.2; 4A_106/2015 du 27 juillet 2015 consid. 5.1).
3.1.2. Procéduralement, sous l'empire de la maxime des débats applicable aux litiges relevant du contrat d'entreprise, les parties doivent alléguer le contenu de leur contrat, et partant que la norme SIA 118 y a été intégrée.
Dans les procès soumis à la maxime des débats (<ref-law> vaud. et 404 al. 1 CPC; actuellement <ref-law>; Verhandlungsmaxime; massima dispositiva), la personne de l'allégant importe peu, puisqu'il suffit que les faits fassent partie du cadre du procès pour que le juge puisse en tenir compte (<ref-ruling> consid. 4.1 p. 2; arrêts 4A_11/2018 du 8 octobre 2018 consid. 6.1; 4A_559/2016 du 18 janvier 2017 consid. 3.1; 4A_555/2015 du 18 mars 2016 consid. 2.3; 4A_566/2015 du 8 février 2016 consid. 4.2.1; cf. HANS-PETER WALTER, Berner Kommentar, no 183 in fine ad <ref-law>; PAUL-HENRI STEINAUER, Le titre préliminaire du Code civil, in TDPS II/1, 2009, n. 640; FABIENNE HOHL, Procédure civile, T. I, 2e éd. 2016, n. 1291 s.). Celui qui supporte le fardeau de la preuve ( Beweislast; onere della prova) et donc, en principe, le fardeau de l'allégation objectif ( objektive Behauptungslast; onere di allegazione oggettivo) a toujours intérêt à alléguer lui-même les faits justifiant sa prétention, ainsi qu'à indiquer au juge les moyens propres à les établir (<ref-ruling> consid. 4.1 p. 2; cf. HOHL, op. cit., n. 1292), sous peine de voir son action rejetée (<ref-ruling> consid. 3b p. 190; arrêt 4A_11/2018 précité consid. 6.1).
3.1.3. Si le premier juge n'admet pas que les parties ont incorporé la norme SIA 118 au contrat d'entreprise, la partie qui le conteste doit s'en plaindre en appel sur la base de l'<ref-law> (arrêt 5A_788/2017 du 2 juillet 2018 consid. 2.2.3 non publié à l'<ref-ruling>). Cette contestation étant une question de fait, elle ne peut être critiquée pour la première fois devant le Tribunal fédéral, en vertu du principe de l'épuisement des griefs (cf. consid. 2.1 supra).
3.2. En l'espèce, les premiers juges ont retenu qu'il n'avait été ni allégué ni établi que les parties au contrat du 19 mai 2009 seraient convenues de l'application de la norme SIA 118. Les prétentions de la demanderesse devaient dès lors être examinées à l'aune des <ref-law>.
L'appel de la demanderesse ne contient aucun grief de constatation incomplète des faits sur ce point, de sorte que l'arrêt d'appel ne comporte aucune précision à cet égard. Aucun reproche ne peut donc être adressé aux juges de la cour cantonale qui n'ont pas examiné ce point.
Dans son recours en matière civile, la demanderesse recourante soutient que les défendeurs ont allégué en première instance que le contrat était soumis à la norme SIA 118. Ce faisant, non seulement elle ne démontre pas que cet allégué a été présenté régulièrement et en temps utile conformément au Code de procédure civile vaudois, applicable puisque la demande a été déposée avant le 1er janvier 2011 (<ref-law>), mais elle n'indique pas non plus avoir valablement critiqué l'absence de constatation de ce fait dans son appel en conformité avec l'<ref-law> (<ref-law>; <ref-ruling> consid. 4.3.1; arrêts 4A_74/2018 du 28 juin 2018 consid. 3.2; 4A_218/2017 du 14 juillet 2017 consid. 3.1.2 in SJ 2018 I 21).
Il s'ensuit que le fait de l'intégration de la norme SIA 118 au contrat d'entreprise n'a pas été établi en procédure cantonale et qu'il ne peut faire l'objet d'un complètement de l'état de fait par le Tribunal fédéral (<ref-law>).
Le grief de la recourante concernant l'applicabilité de la norme SIA 118 à la cause est dès lors mal fondé.
4.
La recourante se prévaut d'appréciation arbitraire des preuves et de violation du droit d'être entendu en relation avec les expertises rendues à propos des défauts de l'ouvrage.
4.1. Seules des questions de fait, à l'exclusion des questions de droit, peuvent être soumises à un expert judiciaire (<ref-ruling> consid. 5.4.1 p. 345). Déterminer si une expertise est convaincante ou non sur des points précis relève donc de l'appréciation des preuves, que le Tribunal fédéral ne peut revoir que sous l'angle de l'arbitraire (art. 9 Cst.; cf. consid. 2.1 supra).
Lorsque l'autorité cantonale juge une expertise concluante et en fait sien le résultat, le Tribunal fédéral n'admet le grief d'appréciation arbitraire des preuves que si l'expert n'a pas répondu aux questions posées, si ses conclusions sont contradictoires ou si, d'une quelconque autre façon, l'expertise est entachée de défauts à ce point évidents et reconnaissables, même sans connaissances spécifiques, que le juge ne pouvait tout simplement pas les ignorer. Il n'appartient pas au Tribunal fédéral de vérifier si toutes les affirmations de l'expert sont exemptes d'arbitraire; sa tâche se limite bien plutôt à examiner si l'autorité intimée pouvait, sans arbitraire, se rallier au résultat de l'expertise (<ref-ruling> consid. 4.2.3 p. 391; <ref-ruling> consid. 4.4.1 p. 269).
4.2. La cour cantonale a commencé par dire que les juges de première instance avaient pris soin de discuter les deux expertises à disposition. Dans ce contexte, ils avaient, d'une manière exempte de critiques, parfois privilégié l'expertise mise en oeuvre par le deuxième expert, M._, vu son contenu précis et détaillé, au détriment du rapport établi par le premier expert, L._ AG, qui n'a jamais disposé d'un dossier complet. La cour cantonale a repris les considérations des premiers juges et poursuivit son appréciation sur les points suivants: les deux experts s'accordaient sur le fait que la température de 60° C à fournir par la pompe à chaleur selon le contrat ne pouvait pas être atteinte, l'expert judiciaire retenant à ce propos que la pompe posée n'était pas assez puissante et que les radiateurs installés à l'étage étaient trop petits; l'échangeur de chaleur pour la production d'eau chaude sanitaire aurait dû être raccordé à la pompe à chaleur avec une vanne à trois voies et l'accumulateur de chauffage n'avait que deux raccordements, alors qu'il en aurait fallu trois pour raccorder la pompe à chaleur et les autres utilisateurs de chaleur; le réservoir d'eau chaude aurait dû avoir une capacité de 1'400 litres et non de 800 litres, la cour cantonale précisant sur ce point que l'affirmation de L._ AG, selon laquelle la contenance réduite de 800 litres n'était pas responsable du mauvais fonctionnement de l'installation, n'était pas étayée et divergeait de celle de M._, dûment étayée, convaincante et dont il n'existait aucun motif de s'écarter; la batterie de chauffage pour la ventilation de la piscine était mal dimensionnée; le système de tuyauterie et l'installation électrique devaient être adaptés.
4.3. Pour démontrer l'arbitraire dans l'appréciation de la cour cantonale, il ne suffit pas, comme le fait la recourante, de lister sélectivement les constatations des deux experts, d'affirmer que celles-ci sont contradictoires et de reprocher au second expert de n'avoir pas vu l'installation. Il faut s'en prendre directement aux constatations de la cour cantonale. Or, la recourante ne conteste pas l'appréciation de la cour cantonale, selon laquelle les deux experts admettent que la température de 60° C prévue par le contrat ne peut pas être atteinte, son argumentation se basant exclusivement sur une température de 55° C. Elle ne se prononce pas non plus sur les autres points retenus par la cour cantonale dans son appréciation et repris ci-dessus (consid. 4.2). Dans ces circonstances, l'on ne saurait suivre la recourante lorsqu'elle affirme que le seul défaut affectant l'installation de chauffage qu'elle a posée réside en l'absence d'une vanne d'une valeur de 300 fr., affirmation qu'elle entend d'ailleurs déduire d'une quantité d'éléments ajoutés de manière irrecevable à l'état de fait (cf. consid. 2.1 supra).
Les autres arguments avancés par la recourante sont également impropres à démontrer un quelconque arbitraire. Le fait que le second expert n'a pas pu voir l'installation telle que posée par la recourante est sans pertinence, puisqu'il est établi que celui-ci n'a pas uniquement examiné l'installation, mais avait connaissance de tout le dossier, y compris de la première expertise, et qu'il s'est entre autres fondé sur les plans et les schémas de conception de l'installation ainsi que sur l'entretien qu'il a eu avec U._. Il en va de même de l'argument de la recourante, selon lequel le second expert serait parti d'un postulat juridiquement erroné en mentionnant que l'installation ne respecterait pas l'art. 33 al. 1 RLVLEne (Règlement vaudois d'application de la loi du 16 mai 2006 sur l'énergie du 4 octobre 2006; RSV 730.01.1). La cour cantonale a retenu, sans que la recourante ne le conteste, qu'en mentionnant l'art. 33 al. 1 RLVLEne, M._ est parvenu à la même conclusion que l'expertise réalisée hors procès par L._ AG, soit que la seule solution viable à long terme était d'augmenter la puissance des radiateurs à l'étage et de séparer le circuit d'eau chaude sanitaire et le chauffage, afin que la température de l'accumulateur ne soit pas constamment poussée à son maximum. L'on ne voit donc pas ce que la recourante pourrait déduire en sa faveur de cet argument. En tout état, dans la mesure où la mention de cet article dans l'expertise n'a pas fait l'objet de critiques devant les instances précédentes, il est irrecevable.
4.4. Il suit de là que le grief d'arbitraire dans l'appréciation des preuves relativement aux expertises rendues est mal fondé.
Il en va de même du grief de violation du droit d'être entendu. Outre que ce grief n'est nullement étayé, la recourante ne soutient pas que la cour cantonale n'aurait pas pris en considération certains allégués, arguments ou offres de preuve qu'elle aurait régulièrement présentés.
5.
La recourante reproche à la cour cantonale une violation de l'art. 368 al. 1 et 2 CO.
5.1. L'<ref-law> prévoit que si l'ouvrage est défectueux au point que le maître ne peut pas en faire usage, ou ne peut pas être équitablement contraint de l'accepter, il a le droit de le refuser. En cas de défaut moins important, l'<ref-law> autorise le maître à exiger la réparation de l'ouvrage aux frais de l'entrepreneur, si la réparation est possible sans dépenses excessives, ou à réduire le prix en proportion de la moins-value. Le maître jouit de droits formateurs correspondant à ces trois options, soit la résolution du contrat, la réduction du prix ou la réparation de l'ouvrage. Le choix d'une option s'effectue par une déclaration de volonté adressée à l'entrepreneur; il est irrévocable et entraîne la perte des autres options (arrêt 4A_650/2016 du 3 mai 2017 consid. 4.2; arrêt 4A_643/2014 du 25 novembre 2015 consid. 4.2 non publié à l'<ref-ruling>; François Chaix, in Commentaire romand, 2e éd. 2012, n. 4 et 9 ad <ref-law>; Peter Gauch, Der Werkvertrag, 5e éd. 2011, n. 1577 ss).
5.2. Dans une argumentation qui mêle les faits et le droit, la recourante soutient que les affirmations de l'expert M._ seraient insoutenables - et l'arrêt entrepris arbitraire en tant qu'il les suit - puisqu'elles reviennent à dire que l'installation serait inutilisable. La recourante déduit de ce prétendu caractère inutilisable de l'installation que les intimés auraient dû résoudre le contrat en vertu de l'<ref-law>, ce qu'ils n'ont pas fait. En appliquant les règles relatives aux défauts de moindre importance, les juges cantonaux auraient violé l'art. 368 al. 1 et 2 CO.
Cette argumentation tombe à faux: en effet, elle repose sur un fait non constaté, puisqu'il ne ressort aucunement de l'arrêt cantonal que l'installation serait inutilisable.
6.
La recourante invoque une série de griefs en relation avec l'avis des défauts formulé par les intimés et les défauts entachant l'installation de chauffage qu'elle a posée.
6.1.
6.1.1. Le Code des obligations prévoit qu'après la livraison de l'ouvrage, le maître doit en vérifier l'état aussitôt qu'il le peut d'après la marche habituelle des affaires, et en signaler les défauts à l'entrepreneur, s'il y a lieu (<ref-law>). Si les défauts ne se manifestent que plus tard, le maître doit les signaler aussitôt qu'il en a connaissance (<ref-law>).
La loi institue une fiction d'acceptation tacite de l'ouvrage lorsque le maître ne donne pas l'avis des défauts aussitôt qu'il a connaissance de ceux-ci. L'entrepreneur est libéré de toute responsabilité en relation avec les défauts qui ont été annoncés tardivement (cf. <ref-law>); parallèlement, les droits du maître découlant de la garantie des défauts sont frappés de péremption (arrêt 4A_251/2018 du 11 septembre 2018 consid. 3.1; arrêt 4A_231/2016 du 12 juillet 2016 consid. 2.2, rés. in SJ 2017 I 56).
6.1.2. Selon les <ref-ruling> consid. 2a et 118 II 142 consid. 3a, le maître de l'ouvrage (ou l'acheteur) qui émet des prétentions en garantie doit prouver qu'il a donné l'avis des défauts en temps utile, mais il incombe à l'entrepreneur (ou au vendeur) d'alléguer l'acceptation de l'ouvrage découlant de la tardiveté de l'avis des défauts. Le juge doit d'autant moins vérifier d'office la ponctualité de l'avis des défauts que ce point dépend fortement des circonstances d'espèce et des pratiques commerciales. Cette jurisprudence implique une séparation des fardeaux de l'allégation et de la preuve. Si cette solution est défendue par certains auteurs (cf. en particulier les noms cités par FABIENNE HOHL, L'avis des défauts de l'ouvrage: fardeau de la preuve et fardeau de l'allégation, RFJ 1994 p. 257), elle a aussi suscité des critiques (FRANÇOIS CHAIX, op. cit., n. 34 ad <ref-law>; PETER GAUCH, op. cit., n. 2164 ss; PASCAL PICHONNAZ, DC 2013, p. 124).
Après avoir, dans un premier temps, exprimé des doutes sur cette " séparation inusuelle " des fardeaux de l'allégation (objectif) et de la preuve, tout en laissant la question en suspens, le Tribunal fédéral a finalement maintenu sa jurisprudence publiée aux <ref-ruling> et 118 II 142 dans plusieurs arrêts (cf. notamment les arrêts 4A_388/2017 du 22 février 2018 consid. 5.1; arrêt 4A_405/2017 du 30 novembre 2017 consid. 3.3 et les arrêts cités; arrêt 4A_28/2017 du 28 juin 2017 consid. 4). L'entrepreneur (ou le vendeur) supporte donc le fardeau de l'allégation objectif de l'absence d'avis des défauts ou de la tardiveté de celui-ci et le maître de l'ouvrage (ou l'acheteur) supporte le fardeau de la preuve de l'un ou l'autre de ces faits.
Comme on l'a vu ci-dessus, les faits doivent être allégués régulièrement et en temps utile selon le droit de procédure civile applicable à la cause (cf. consid. 3.1.2 ci-dessus).
6.2. Faisant sien le raisonnement de l'autorité de première instance, la cour cantonale a retenu que la demanderesse s'est prévalue de la tardiveté de l'avis des défauts pour la première fois dans son mémoire de droit en première instance, sans avoir auparavant formulé des allégués en ce sens dans ses écritures. Or, en vertu du droit de procédure cantonal vaudois applicable à la cause, les allégués relatifs à l'omission ou à la tardiveté de l'avis des défauts ne pouvaient être valablement introduits au stade du mémoire de droit. La demanderesse, qui supportait le fardeau de l'allégation objectif à cet égard, était par conséquent forclose pour se prévaloir de la tardiveté de l'avis des défauts, de sorte que les défendeurs n'avaient pas à prouver qu'ils avaient donné un avis des défauts en temps utile. Par surabondance, la cour cantonale a considéré que les avis des défauts formulés par les défendeurs étaient suffisants.
6.2.1. La recourante reproche à la cour cantonale d'avoir violé l'<ref-law>, en séparant le fardeau de la preuve et le fardeau de l'allégation. D'après elle, il appartenait aux défendeurs d'alléguer qu'ils avaient communiqué l'avis des défauts en temps utile, ce qu'ils n'ont pas fait. Elle-même n'avait pas à formuler d'allégués en lien avec l'absence d'avis des défauts en temps utile et était d'ailleurs toujours fondée à s'en plaindre.
La jurisprudence constante de la cour de céans consacre précisément une séparation du fardeau de la preuve et du fardeau de l'allégation objectif en ce qui concerne l'avis des défauts (consid. 6.1.2). L'arrêt 4A_514/2016 du 6 avril 2017 que la recourante invoque à l'appui de sa thèse concerne le fardeau de l'allégation objectif et le fardeau de la preuve du dommage, et non de l'avis des défauts. Il lui appartenait donc, en sa qualité d'entrepreneur, d'alléguer que, faute d'avis ou en raison d'un avis des défauts tardif, les maîtres avaient accepté tacitement l'ouvrage en dépit de ses défauts. Ce n'est qu'une fois cette allégation présentée dans ses écritures qu'il aurait incombé aux maîtres de l'ouvrage de prouver qu'ils avaient procédé aussitôt à un avis des défauts. L'argumentation de la cour cantonale à ce propos est donc exempte de tout reproche.
Il résulte de ce qui précède que l'intégralité des griefs de la recourante liés à l'absence ou la tardiveté de l'avis des défauts, invoqués au titre de la violation des art. 367 et 371 CO, sont mal fondés. De même, les faits y relatifs, qui selon la recourante auraient été arbitrairement omis par la cour cantonale, se révèlent sans pertinence pour l'issue du litige.
6.2.2. La recourante fait encore grief à la cour cantonale d'avoir retenu que l'installation de chauffage qu'elle a posée était sous-dimensionnée, ce qui procéderait d'une violation de l'<ref-law> et d'une appréciation arbitraire des preuves. Elle affirme qu'aucun des experts n'aurait retenu un sous-dimensionnement, de sorte que ce défaut n'a pas été prouvé par les défendeurs.
Par ce grief, la recourante reprend en réalité sa critique de l'appréciation des expertises, dont le sort a été scellé ci-dessus (consid. 4.3 et 4.4). Le fait en question étant établi sans arbitraire, il ne peut y avoir de violation de l'<ref-law>.
7.
La recourante se plaint encore de violation des art. 82, 102 ss, 107 al. 2 et 368 al. 2 CO. Elle soutient que les défendeurs ne lui ont pas donné l'occasion de réparer l'installation de chauffage, qu'ils n'ont pas allégué qu'ils avaient exigé d'elle qu'elle répare l'installation de chauffage, ni qu'elle aurait été incapable d'y procéder et que, étant en demeure de lui payer le troisième acompte, ils ne pouvaient lui opposer le montant nécessaire à l'élimination des défauts d'un montant de 160'000 fr. (i.e. 166'761 fr. 70) en chiffres ronds. Ces frais devaient d'autant moins lui être facturés que la nouvelle installation représentait un aliud.
L'arrêt attaqué ne contient pas de constatations de fait en relation avec la problématique du droit à réparer l'ouvrage que semble invoquer la recourante. Il ne constate pas non plus que l'installation correspondrait, après réfection, à un aliud. On ne voit donc pas en quoi la cour cantonale aurait violé l'<ref-law>, ou les autres dispositions citées pêle-mêle par la recourante.
8.
La recourante dénonce une violation de l'<ref-law> et des art. 9 et 29 Cst. Elle soutient que les plans transmis par les maîtres de l'ouvrage étaient erronés, ce qui l'a empêchée d'installer les convecteurs au premier étage de la villa et l'a obligée à installer, en lieu et place, des radiateurs. Elle allègue qu'elle avait le droit de facturer aux maîtres de l'ouvrage le coût de cette modification de commande à hauteur de 23'017 fr. 72, en sus du prix forfaitaire convenu.
Au consid. 4 de son arrêt, la cour cantonale a examiné la prétention que faisait valoir l'entrepreneur pour la pose des radiateurs qu'il a dû installer à la place des convecteurs qu'il avait commandés, en se fiant aux plans. Elle a exposé que les premiers juges avaient considéré que l'entrepreneur devait se rendre compte sur la base des plans qu'il ne pouvait pas installer des convecteurs et que les maîtres de l'ouvrage n'avaient commis aucune faute et, partant, que les prétentions de l'entrepreneur pour les radiateurs qu'il a dû commander et installer à la place des convecteurs devait être rejetée. La cour cantonale a retenu l'avis de l'expert judiciaire qui a affirmé que, sur la base des plans, il était impossible d'installer des convecteurs et a constaté que désormais, puisque l'entrepreneur soutenait que les deux parties étaient conscientes que la chape était d'une épaisseur insuffisante pour poser des convecteurs, il ne contestait plus que ce fait ressortait effectivement des plans. Il en résultait que la question litigieuse n'était plus de savoir qui supportait la responsabilité de l'inadéquation des plans et elle a écarté le nouveau grief selon lequel le maître de l'ouvrage aurait su que la pose des convecteurs était impossible.
En tant qu'elle critique le fait qu'elle n'aurait désormais plus contesté que l'impossibilité de poser des convecteurs résultait des plans, listant neuf allégués qui auraient été omis par la cour cantonale, la recourante se borne à une critique purement appellatoire et, partant, irrecevable. Pour le reste, elle ne s'en prend pas à la motivation de la cour cantonale, se limitant à affirmer qu'elle avait le droit de facturer des frais additionnels pour une modification de commande.
9.
La recourante se plaint de ce que l'expert M._ n'a pas chiffré la valeur des travaux de remplacement des pavés, ni dans son expertise ni dans son expertise complémentaire. Elle reproche dans ce contexte à la cour cantonale d'avoir violé son droit d'être entendue, au motif que cette autorité aurait refusé de mettre en oeuvre une expertise sur ce point en appel.
Au consid. 5.4 de son arrêt, la cour cantonale a exposé que l'entrepreneur devait établir la preuve de la valeur des travaux de remplacement des pavés. Il avait certes offert la preuve par expertise, mais l'expert avait indiqué qu'il ne pouvait pas chiffrer ce poste. Dans ces circonstances, elle a retenu que, faute pour l'entrepreneur d'avoir considéré que l'expertise était lacunaire et requis une seconde expertise en première instance, celui-ci ne pouvait plus le faire en appel. La valeur de ce poste admise par les parties de 10'001 fr. a donc été allouée.
Même si elle soutient que l'expert a refusé de chiffrer ce poste " sous prétexte qu'il n'avait ni les bons de régie, ni une facture détaillée " et que la cour cantonale ne lui aurait pas permis de déposer des remarques, la recourante ne s'en prend pas à la motivation selon laquelle elle aurait dû requérir en première instance une seconde expertise au motif que l'expertise était lacunaire, conformément aux règles de procédure vaudoise applicables. Elle ne démontre pas d'application arbitraire du droit cantonal. Partant, ses griefs d'arbitraire et de violation du droit d'être entendu ne peuvent qu'être rejetés.
10.
Il résulte de ce qui précède que le recours doit être rejeté dans la mesure où il est recevable.
La recourante supportera les frais judiciaires à hauteur de 5'500 fr. et versera des dépens à hauteur de 6'500 aux intimés, créanciers solidaires.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 5'500 fr., sont mis à la charge de la recourante.
3.
La recourante versera aux intimés, créanciers solidaires, une indemnité de dépens à hauteur de 6'500 fr.
4.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour d'appel civile.
Lausanne, le 29 janvier 2019
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Schmidt