0
votes

Error TypeError: Élément de séquence 0: Instance attendue STR, liste trouvée des nombres impairs

J'essaie d'obtenir tous les nombres impairs de 1 à numéro , mais j'ai des problèmes. Comment puis-je le réparer? La sortie doit être comme: 1, 3, 5, 7, ... xxx


1 commentaires

Est-ce que cela répond à votre question? Python: Comment imprimer une matrice non stresse?


4 Réponses :


1
votes

Faites ceci:

Oddnumbers.append (str (i))

pas ceci:

Oddnumbers.Append ([str (i)])


0 commentaires

1
votes

Le message d'erreur est assez clair. Regardons le message complet: xxx pré>

donc le premier élément (0) de la "séquence" (dans ce cas Oddnumbers code>) était censé être un STR code>, mais python a trouvé une liste code> à sa place. p>

regardons quelle valeur de Oddnumbers code> sera après le -loop en mettant une instruction code> Imprimer code> sous la boucle pour la boucle: p> xxx pré>

Nous voyons donc que la première valeur dans Oddnumbers code > est ['1'] code>. Il s'agit donc d'une liste code> code> et non d'un str code>. P>

Pourquoi est-ce une liste p> p> Dans cette ligne, vous ajoutez chaque numéro sous la liste STR CODE> INSISTER A CODE> Liste CODE> TO ODDNUMBERS CODE>: P>

Number: 5
['1', '3']
1, 3


1 commentaires

Génial! Je l'ai corrigé. Merci beaucoup.



1
votes

Votre problème provient de la fonction joindre une méthode d'objet chaîne et de la prise d'argument de type ibler, comme une liste, des tuples, des dict, etc.

Pour fonctionner correctement, l'argument ne doit contenir que le type de chaîne. Dans votre cas, vous avez une liste d'une liste. C'est ce que l'erreur de message essayant de dire.

Supprimer le support dans la méthode APPEND afin d'ajouter uniquement une chaîne dans votre liste Oddnumbers.


0 commentaires

0
votes

Essayez ce code à la place:

number = int(input("Number: "))


def get_odd_number(number):
    result = []
    for i in range(number):
        if i % 2 != 0:
            result.append(str(i))
    return result


print(','.join(get_odd_number(number)))



0 commentaires