Bizarrerie avec input liste

Bonjour,

Je ne comprends pas pourquoi Python me renvoie 8 avec ce programme : 

tab=[[0,1,2,2,3,4,5,5,6,7,8,9,11],[2,4,7,10,3,5,3,6,0,11,8,2,6]]

def plusBas(tab):
    j=0
    for k in range(0, len(tab[0])):
        if tab[1][k]<tab[1][j] or (tab[1][k]==tab[1][j] and tab[0][k]<tab[0][j]):
            j=k
    return j

et me renvoie 0 avec le programme suivant, où l'utilisateur a saisi en input : [[0,1,2,2,3,4,5,5,6,7,8,9,11],[2,4,7,10,3,5,3,6,0,11,8,2,6]] 

tab=input()

def plusBas(tab):
    j=0
    for k in range(0, len(tab[0])):
        if tab[1][k]<tab[1][j] or (tab[1][k]==tab[1][j] and tab[0][k]<tab[0][j]):
            j=k
    return j

Merci bien.


Windows / Edge 108.0.1462.54

2 réponses

  1. Bonjour,

    avec input(), tab est une chaine de caractères pas une liste

    alors qu'avec ton 1er essai, tu crée une liste dans le code : tab = [......]

    0
    1. ah ok je vois, mais comment faire pour que l'utilisateur rentre une liste alors ? Ca ne fonctionne pas avec list(input()).

      0
  2. avec split()

    tab_l=tab.split(',')

    Il faut saisir avec input, par exemple 1,2,3,4 sans les crochets 

    0