Faits : A. Par jugement du 6 octobre 2016, le Tribunal de police des Montagnes et du Val-de-Ruz a condamné X._, pour infractions à la LStup, à une peine privative de liberté de 18 mois, avec sursis pendant 4 ans, peine partiellement complémentaire à celles prononcées par le ministère public les 5 octobre 2010 et 17 octobre 2013, et a ordonné une assistance de probation assortie de règles de conduite. B. Par jugement du 26 avril 2017, la Cour pénale du Tribunal cantonal de la République et canton de Neuchâtel a admis l'appel formé par le Ministère public contre ce jugement, et a réformé celui-ci en ce sens que X._ est condamné, pour infractions à la LStup, à une peine privative de liberté ferme de 18 mois, peine partiellement complémentaire à celles prononcées par le ministère public les 5 octobre 2010 et 17 octobre 2013. En substance, la cour cantonale a retenu les faits suivants. B.a. X._ est né en 1978. Son casier judiciaire fait état de 16 condamnations, entre juin 2006 et juillet 2014, pour infractions à la LStup, violation de domicile, voies de fait, infractions à la LCR, vol, dommages à la propriété, abus de confiance, injure, menaces, infractions à la législation sur les armes, contrainte, séquestration et lésions corporelles simples. L'une de ces condamnations concernait une peine pécuniaire ferme de 360 jours-amende, prononcée le 6 mai 2010 par le Tribunal de police des Montagnes et du Val-de-Travers. B.b. Le 11 mars 2014, la police s'est présentée au domicile de X._, qu'elle soupçonnait de se livrer à un trafic de stupéfiants. Lors de la perquisition qui a suivi, le prénommé a remis aux policiers un sac contenant de la cocaïne, de l'ecstasy, du haschich et de la marijuana. La police a en outre saisi 1'090 fr. en liquide. Entendu le même jour, X._ a admis se livrer au trafic et à la consommation de stupéfiants. Entre 2007 et 2009, le prénommé a acquis 9 kg de marijuana, en a consommé 900 g et a revendu le solde, réalisant un bénéfice de 24'300 francs. Il a ensuite repris son trafic, entre juillet 2013 et mars 2014, en acquérant 600 g de marijuana, dont 390 g destinés à la revente. Il a en outre acquis 58 pilules d'ecstasy et 8,6 g de cocaïne en vue de leur revente. Le 8 août 2014, une patrouille de police a contrôlé X._. Ce dernier a remis aux policiers des paquets de marijuana, en admettant qu'ils étaient destinés à la vente. Une perquisition effectuée le même jour a permis la saisie de six plants de cannabis, de marijuana et de cocaïne. Interrogé, le prénommé a admis qu'il avait repris le trafic et la consommation de stupéfiants. B.c. X._ a entamé, le 3 février 2015, l'exécution d'une peine privative de liberté de 399 jours, résultant de l'addition de condamnations à des peines fermes et de la conversion d'amendes et de jours-amende. Il a ensuite été mis au bénéfice d'un régime de semi-détention, dès le 13 février 2015. Ce régime a été révoqué et l'exécution du solde de peine en détention ferme ordonnée, selon une décision de l'Office d'application des peines et mesures du 11 septembre 2015. Cette décision était motivée par le fait que, le 5 juin 2015, le ministère public avait converti une peine de travail d'intérêt général en 30 jours de peine privative de liberté, faisant ainsi passer la peine à exécuter de 365 à 395 jours, ce qui excluait la semi-détention selon l'art. 77b CP. X._ a été libéré le 8 mars 2016. C. X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 26 avril 2017, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est condamné à une peine privative de liberté de 18 mois, avec sursis pendant 4 ans, et que le jugement du 6 octobre 2016 est confirmé pour le surplus. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'effet suspensif. Par courrier du 8 juin 2017, le Président de la Cour de droit pénal du Tribunal fédéral a signalé à X._ que sa requête d'octroi d'effet suspensif était sans objet. D. Invités à se déterminer sur le recours, la cour cantonale a indiqué s'en référer à sa décision, tandis que le ministère public a conclu au rejet du recours en se référant au jugement du 26 avril 2017.