首页 >后端开发 >Python教程 >Collatz 序列、逗号代码、字符图网格

Collatz 序列、逗号代码、字符图网格

巴扎黑
巴扎黑原创
2017-06-23 11:44:051662浏览

1.collatz序列

  编写一个名为 collatz()的函数,它 有一个名为 number 的参数。如果参数是偶数, 那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打 印并返回 3 * number + 1。 然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直 到函数返回值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

输出结果:

 1 Input a number: 6 2 6 3 3 4 10 5 5 6 16 7 8 8 4 9 210 1

2.逗号代码

假定有下面这样的列表: spam = ['apples', 'bananas', 'tofu', 'cats'] <br>   编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所 有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入and。例如,将前面的 spam 列表传递给函数,将返回'apples, bananas, tofu, and cats'。但你的函数应该能够处理传递给它的任何列表。

<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.字符图网格

假定有一个列表的列表,内层列表的每个值都是包含一个字符的字符串,像这样:

grid =[['.', '.', '.', '.', '.', '.'], 

['.', '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', '.', '.', '.'],        

['.', '.', '.', '.', '.', '.']]

你可以认为 grid[x][y]是一幅“图”在 x、y 坐标处的字符,该图由文本字符组成。原点(0, 0)在左上角,向右 x 坐标增加,向下 y 坐标增加。 复制前面的网格值,编写代码用它打印出图像。

..OO.OO..

.OOOOOOO.

.OOOOOOO.

..OOOOO..

...OOO...

....O....

    grid =     [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,      [, , , , ,  #嵌套循环  n       m          (grid[m][n], end=     ()#换行

#输出结果
..OO.OO..

.OOOOOOO.

.OOOOOOO.

..OOOOO..

...OOO...

....O....

 

<br> 

 

以上是Collatz 序列、逗号代码、字符图网格的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn