2017-09-28 3 views
-4

Un exercice de LeetCode demande d'inverser entier et c'est le code que j'ai obtenu, mais cela ne fonctionne pas pour les entiers négatifs et les entiers qui commence par 0. Comment puis-je inclure cela?Inverser les entiers négatifs et 0

class Solution: 
    def reverse(self, x): 
     self.x = x 
     y = str(x) 
     list_mod = list(y) 

     for i in list_mod: 
      list_mod.reverse() 
      join_list = ''.join(list_mod[:]) 

     print(join_list) 
+1

Que voulez-vous dire en inversant un certain nombre? Pouvez-vous montrer l'exemple s'il vous plaît? –

+0

Pourquoi est-ce dans une classe? Pourquoi affectez-vous 'self.x'? S'il vous plaît supprimer des choses étrangères à votre question, ne pas simplement vider votre code ici. Le simple fait de dire que cela ne fonctionne pas n'est pas une explication adéquate. S'il vous plaît fournir un [mcve]. Il existe certaines lignes directrices pour poser des questions. S'il vous plaît voir [demander] –

+0

@ juanpa.arrivillaga LeetCode vous fait intentionnellement mettre votre solution dans une classe. C'est comment ils le mettent en forme – TerryA

Répondre

0

Vous pouvez essayer quelque chose comme ceci:

int(str(123)[::-1]) 

le nombre suffit de remplacer la variable entière appropriée dans votre programme et vous aurez certainement l'inverse du numéro que vous voulez.

Après avoir obtenu votre exigence complète ce que je peux suggérer de ma fin:

x = -123 
y = str(x) 
if y[0] == '-': 
    list_mod = list(y) 
    list_mod.pop(0) 
    list_mod.append('-') 
    list_mod.reverse() 
    join_list = ''.join(list_mod[:]) 

print(join_list) 
+0

wow impressionnant ... J'ai écrit toute une classe qui fait la même chose et tout ce que vous avez fait était une ligne. Que signifie [:: - 1]? Mais je travaille sur l'exercice sur LeetCode. Je ne suis pas sûr si cette ligne sera la bonne réponse ... Je pense que LeetCode demande une définition. Néanmoins, Wow. – aiduaq

+0

@aiduaq Pourquoi ne pouvez-vous pas l'essayer une fois .. Si cela ne vous aide pas que vous pouvez me le faire savoir afin que je découvre autre chose ... :) Merci pour votre appréciation –

+0

Désolé pour le libellé de mon commentaire. Je voulais dire que je l'ai essayé à la fois sur LeetCode et sur Python Shell. Cela fonctionne très bien dans Python Shell mais LeetCode ne semble pas accepter le code. Y at-il un moyen de le coder dans une méthode avec x étant la variable de l'int? Aussi désolé à l'avance si ma question semble difficile à comprendre. Complètement nouveau dans le domaine de CS. – aiduaq