J'ai essayé d'écrire une fonction mytype (v) qui effectue la même action que type (), et peut reconnaître des entiers, des flottants, des chaînes et des listes. J'ai été invité à le faire en utilisant d'abord str (v), puis en lisant la chaîne. J'ai presque fini, mais lorsque j'entre un ensemble dans mytype, c'est-à-dire mytype ({1,2}), je suis obligé de faire en sorte que la fonction le reconnaisse comme une chaîne mais il continue de dire que c'est une liste. Je me demandais comment corriger mon code pour que la fonction reconnaisse les ensembles comme une chaîne, pas une liste. Voici ce que j'ai jusqu'à présent:

def mytype(v):

 s = str(v)

    import re

    # Check if list
    if re.search(r'[\[\]]', s):
        return "<type 'list'>"

    # Check if float
    if re.search(r'[\d]+\.', s): 
        return "<type 'float'>"

    # Check if int
    if re.search(r'[\d]+', s):
        return "<type 'int'>"

    # anything that's not an int, float or list
    return "<type 'string'>" 
0
Eustina Kim 4 nov. 2019 à 02:23