Dans cet exercice, nous allons recréer une méthode appartenant aux chaînes de caractères, la méthode isdigit
, qui permet de vérifier si une chaîne de caractère ne contient que des nombres.
Nous allons transformer cette méthode en fonction.
À vous donc d'écrire le code de la fonction isdigit
afin de vérifier si la chaîne de caractères que l'on passe (ici "1854274"
) contient uniquement des nombres.
Votre script doit dans ce cas-ci retourner True
dans la variable resultat
.
Bien entendu, vous ne devez pas utiliser la méthode isdigit
mais bien recréer son comportement avec des fonctionnalités de base de Python !
def isdigit(string): for c in string: if 48 < ord(c) < 57: return False return True resultat = isdigit("1854274")
Puco

def isdigit(x): return True if x.isnumeric() else False resultat = isdigit("1854274") print(resultat)
Salvatore

def isdigit(chaine: str) -> bool: if bool(chaine) == False: return False for char in chaine: if char not in [str(i) for i in range(10)]: return False return True resultat = isdigit("1854274")
cam84

def isdigit(a): try: a = int(a) return True except TypeError: return False except ValueError: return False else: return False resultat = isdigit("1854274")
Johann56

import string alphabet = string.ascii_lowercase def isdigit(chaine): for i in chaine: if i in alphabet: return False return True resultat = isdigit("1854274") print(resultat)
Vincentb

def isdigit(str): if str is (int, float): return True else: return False resultat = isdigit("1854274")
GuillaumeC

def isdigit(variable): resultat = True for n in variable: if not isinstance(n, int): resultat = False return resultat resultat = isdigit("1854274")
def isdigit(chaine : str): import string for element in chaine: if not(element in string.digits): return False return True resultat = isdigit("1854274")
Brieux

def isdigit(phrase): nomber=["1","2","3","4","5","6","7","8","9"] list_bool = [] if not isinstance(phrase, str): raise TypeError("must be str, not int") return False for n in phrase : if n in nomber: list_bool.append(True) else: list_bool.append(False) if sum(list_bool) == len(phrase) : return True else: return False resultat = isdigit("1854274") print(resultat)
Thibaut44300

def isdigit(chn): for c in chn: if c < "0" or c > "9": return False return True resultat = isdigit("1854274")
frkb

def isdigit(nb): for i in nb: try: i_int = int(i) except: return False if i_int in range(0, 9): return True resultat = isdigit("1854274")
def isdigit(value): number=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for i in value: if i not in number: return False return True resultat = isdigit("1854274")
Rimah

def isdigit(chaine): if not chaine: return False for char in chaine: try: int(char) except: return False return True resultat = isdigit("1854274")
Romu80

def isdigit(chaine): nombres = '0123456789' for i in chaine: if i not in nombres: return False return True resultat = isdigit("1854274")
def isdigit(chaine_de_caracteres): number_list = ["1", "2", "3", "4", "5", "6", "7", "8", "9"] for e in chaine_de_caracteres: if e not in number_list: resultat = False break else: resultat = True if resultat == False: return False return True resultat = isdigit("1854274")
Gabriel Trouvé

import string def isdigit(arg): nb = True for i in arg: if i in string.ascii_lowercase: nb = False break return nb resultat = isdigit("1854274")
TheCrow

def isdigit(): pass resultat = isdigit("1854274")
Un instant...
Test de la variable resultat
La variable resultat
doit être égale à True
car dans ce cas-ci, on lui passe une chaîne de caractères qui ne contient que des chiffres.
Bravo, tu as réussi cet exercice de code 🥳

Soumettre ma solution
Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇
Seules les propositions différentes de la solution proposée par Docstring peuvent être envoyées.
Ma solution :
Mes notes
Sauvegardé