J'essaie de créer un motif en python. Je dois avoir toutes les pages d'un ensemble de liens (appelé "sujets_links"): ex. J'ai www.url / animal (avec www.url / animal / page / 1 ECC.) Et www.url / plantes (avec www.url / plantes / page / 1 ECC).
J'ai fait ceci: mais me donne une erreur "syntaxe invalide". N'est-il pas possible d'utiliser% d et + = ensemble? P> J'ai trouvé une solution à l'aide de beauxoup: p> Cela change totalement la façon de le faire, mais au moins cela fonctionne. P> P> Modifier h2>
3 Réponses :
Ce qui suit fonctionne: p> Remarque: j'ai modifié l'exemple de sorte qu'il puisse s'exécuter sur son propre em > p> p> n + = 1 code> est un Affectation augmentée-déclaration et vous essayez de l'utiliser comme un expression .
Cela me tire juste la première page, pas les autres
Même si je fais: n = 0 n + = 1 impression ('page /% d'% n) code> Il ne prend pas plus de pages que d'une
Vous devriez augmenter N séparément car vous définissez la valeur pour N en faisant
n = n +1
Malheureusement non
Depuis Python 3.8, vous pourrez utiliser l'expression de l'affectation. n + = 1 est une déclaration d'affectation.
J'ai donc besoin de passer de 3,7 à 3,8?
@Lara vous n'êtes pas obligé. AFAIK 3.8 est en développement. Vous pouvez utiliser les autres solutions, bien que celle-ci soit légèrement plus pratique.
n + = 1 code> n'est pas une valeur, vous ne pouvez donc pas l'utiliser comme valeur de substitution. Vous pouvez utiliser(n + 1) code> ou vous pouvez incrémentern code> séparément.n + = 1 est une opération d'affectation, ce n'est pas JavaScript, dans Python, vous ne pouvez pas utiliser l'affectation en tant que déclaration qui renvoie la valeur. Do n + = 1 en ligne avant ou après votre opération.
Ou, si vous avez besoin de faire cela beaucoup, vous pouvez rouler votre propre classe wrapper fournissant une méthode
incrémentandget code>. En outre, où viennent-il? Cela semble être une sorte de boucle, peut-être sur une certaine collection de résultats, alors peut-être que vous pouvez simplement utiliserénumérer code>?Ce serait bien plus facile et lisible d'écrire n + = 1 et d'utiliser juste n.