Maison >développement back-end >Tutoriel Python >Séquences Collatz, codes virgules, grilles de cartes de caractères
Séquence 1.collatz
Écrivez une fonction nommée collatz(), qui a un paramètre nommé nombre. Si l'argument est un nombre pair, alors collatz() imprime le numéro // 2 et renvoie cette valeur. Si le nombre est impair, collatz() imprime et renvoie 3 * nombre + 1. Ensuite, écrivez un programme qui permet à l'utilisateur de saisir un entier et appelle continuellement collatz() sur ce nombre jusqu'à ce que la fonction renvoie une valeur de 1.
1 #!/usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 4 def collatz(number): 5 print(number) 6 if number ==1: 7 return number 8 elif number % 2 ==0: 9 return collatz(number//2)10 else:11 return collatz(3*number +1)12 13 A = int(input('Input a number: '))14 while True:15 if collatz(A) != 1:16 continue17 else:18 break
Résultat de sortie :
1 Input a number: 6 2 6 3 3 4 10 5 5 6 16 7 8 8 4 9 210 1
2. Code virgule
Supposons qu'il existe une liste comme celle-ci. suivant : spam = ['pommes', 'bananes', 'tofu', 'cats'] <br> Écrivez une fonction qui prend une valeur de liste comme paramètre et renvoie une chaîne. La chaîne contient toutes les entrées séparées par des virgules et des espaces, avec et inséré avant la dernière entrée. Par exemple, transmettre la liste de spam précédente à la fonction renverra « pommes, bananes, tofu et chats ». Mais votre fonction devrait être capable de gérer n'importe quelle liste qui lui est transmise.
<br>
#!/usr/bin/env python3<br># -*- coding:utf-8 -*-<br><br>def func(spam):<br> spam[-1]='and'+ ' ' + spam[-1]<br>for i in range(len(spam)):<br>print(spam[i], end=',')<br><br><br>spam = ['apple', 'bananas', 'tofu', 'cats', 'dog']<br>func(spam)<br>#输出结果<br>apple,bananas,tofu,cats,and dog,<br>
3. Grille de graphique de caractères
Supposons qu'il existe une liste de listes et que chaque valeur de la liste interne contient une chaîne de caractères, comme ceci :
grille =[['.', '.', '.', '.', '.', '.'],
[', 'O. ', 'O', '.', '.', '.'],
['O', 'O', 'O', 'O', '.', '.'] ,
['O', 'O', 'O', 'O', 'O', '.'],
['.', 'O', 'O ', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', '.'] ,
['O', 'O', 'O', 'O', '.', '.'],
['.', 'O', 'O', '. ', '.', '.'],
['.', '.', '.', '.', '.', '.']]
Vous peut considérer grid[x][y] comme les caractères aux coordonnées x et y d'une "image", composée de caractères de texte. L'origine (0, 0) se trouve dans le coin supérieur gauche, la coordonnée x augmente vers la droite et la coordonnée y augmente vers le bas. Copiez la valeur de grille précédente et écrivez le code pour imprimer l'image en l'utilisant.
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
.. .OOO...
....O....
grid = [, , , , , [, , , , , [, , , , , [, , , , , [, , , , , [, , , , , [, , , , , [, , , , , [, , , , , #嵌套循环 n m (grid[m][n], end= ()#换行 #输出结果 ..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O....
<br>
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!