Veuillez calculer un ensemble de données dans les 3 secondes, avec les nombres pairs avant les nombres impairs (notez que vous n'utilisez pas de boucles telles que for while)
Le format est le suivant
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Le résultat de sortie est
2, 1, 4, 3, 6, 5, 8, 7, 10, 9
Idée de solution : Puisque vous ne pouvez pas utiliser for et while pour écrire des jugements de boucle, nous le traiterons par substitution de position. Tant que cela est lié à la position, la première chose à laquelle nous devons penser est les indices et les index. Le code est le suivant :
data[0::2] signifie commencer à partir de la première position de la liste de données, qui est le chiffre 1::signifiant jusqu'à la fin position, 2 est le chiffre 1. Un chiffre et le deuxième chiffre sont séparés par deux chiffres, c'est-à-dire que les nombres impairs 1, 3, 5, 7, 9 sont pris
data[1::2] signifie. que le deuxième numéro de la liste de données est également Il commence par le chiffre 2 : Cela signifie que jusqu'à la position finale, 2 signifie que le premier chiffre et le deuxième chiffre sont séparés par deux chiffres, c'est-à-dire les nombres pairs 2, 4. , 6, 8, 10 sont pris comme indiqué ci-dessous :
tmp est ici utilisé comme zone de stockage temporaire, ce qui est très similaire à la méthode de tri à bulles. En stockant les nombres impairs au milieu, les nombres pairs sont avancés d'une position, puis les données temporairement stockées sont retirées, placées dans les positions paires et complétées.
Imprimez verticalement la sortie au format suivant (n'utilisez pas de bibliothèque tierce) :
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
Solution : Tout d'abord, il faut penser que le programme est exécuté ligne par ligne. Le programme est généralement. réalisable et régulier. En fait, si vous le découvrez attentivement, parmi eux La différence entre est en fait 4. Tant que vous découvrez cela, cette question n'est pas difficile à résoudre. Le code est le suivant :
Dès que vous le regardez, vous réalisez soudain que la différence 4 entre eux peut être contrôlée par le nombre de pas de plage Le premier. La ligne imprimée est 1, 5, 9, 13. Regardez attentivement la deuxième ligne. Par rapport à la première ligne, le nombre est plus 1. Ensuite, nous utilisons la fonctionnalité de Python selon laquelle la plage par défaut commence à 0. Ajoutez simplement chaque ligne. pour réaliser une impression verticale. Sur la deuxième couche. Chaque fois que la boucle for se termine, l'impression nous aidera à envelopper la ligne pour le contrôle et l'achèvement.
Certaines questions et solutions seront mises à jour de temps en temps.
Vous pouvez également m'envoyer un message privé pour discuter de certaines méthodes et techniques.
Enfin, merci à tous d'avoir regardé ! ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!