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. avec split()

    tab_l=tab.split(',')

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

    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 = [......]

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