Comment prendre la n-ième chiffre d'un nombre en python
Je veux prendre la n-ième chiffre de N chiffres en python. Par exemple:
number = 9876543210
i = 4
number[i] # should return 6
Comment puis-je faire quelque chose comme ça en python? Dois-je changer de chaîne d'abord et ensuite de le modifier pour int pour le calcul?
int(str(number)[i-1])
. Ou si vous avez besoin pour gérer tous les chiffres:for index, digit in enumerate(str(number), start=1): digit = int(digit)
- Un Débordement de pile n'est pas un code d'écriture ou de service de tutorat. Veuillez modifier votre question et après ce que vous avez essayé jusqu'à présent, y compris des exemples d'entrée, de sortie attendue, la sortie réelle (le cas échéant), et la texte intégral de toute erreur ou de retraçage.
Vous devez vous connecter pour publier un commentaire.
D'abord traiter le nombre comme une chaîne
Ensuite pour obtenir le premier chiffre:
Le quatrième chiffre:
EDIT:
Ce sera le retour de la, les chiffres de caractère, non pas comme un numéro. Pour la convertir utiliser:
Vous pouvez le faire avec la division entière et reste méthodes
La
//
n'division d'entier par une puissance de dix pour déplacer le chiffre à la position, puis la%
obtient reste de la division par 10. Noter que la numérotation dans ce schéma utilise zéro et d'indexation commence à partir de la droite du nombre.Je voudrais recommander l'ajout d'un booléen vérifier l'ampleur du nombre. Je suis de la conversion d'un haut millisecondes valeur de type datetime. J'ai les numéros de 2 à 200,000,200 donc 0 est un résultat valide. La fonction @Chris Mueller a il sera de retour 0, même si le nombre est plus petit que 10**n.
Vous ne devez être prudent lors de la vérification de la boolean état de cette valeur de retour. Pour permettre à 0 comme valide la valeur de retour, vous ne pouvez pas simplement utiliser
if get_digit:
. Vous devez utiliserif get_digit is False:
de garder0
de se comporter comme une valeur fausse.Ok, tout d'abord, l'utilisation de la str() fonction en python à son tour "numéro" dans une chaîne
Puis obtenir l'index, 0 = 1, 4 = 3 dans l'indice de notation, utiliser int() pour le retransformer en un certain nombre
si vous l'aimez dans la forme courte