Collatz 序列、逗号代码、字符图网格实例
1.collatz序列
编写一个名为collatz()的函数,它有一个名为number的参数。如果参数是偶数,那么collatz()就打印出number//2,并返回该值。如果number是奇数,collatz()就打印并返回3*number+1。然后编写一个程序,让用户输入一个整数,并不断对这个数调用collatz(),直到函数返回值1。
#!/usr/bin/envpython3 #-*-coding:utf-8-*- defcollatz(number): print(number) ifnumber==1: returnnumber elifnumber%2==0: returncollatz(number//2) else: returncollatz(3*number+1) A=int(input('Inputanumber:')) whileTrue: ifcollatz(A)!=1: continue else: break
输出结果:
Inputanumber:6 6 3 10 5 16 8 4 2 1
2.逗号代码
假定有下面这样的列表:spam=['apples','bananas','tofu','cats']
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入and。例如,将前面的spam列表传递给函数,将返回'apples,bananas,tofu,andcats'。但你的函数应该能够处理传递给它的任何列表。
#!/usr/bin/envpython3 #-*-coding:utf-8-*- deffunc(spam): spam[-1]='and'+''+spam[-1] foriinrange(len(spam)): print(spam[i],end=',') spam=['apple','bananas','tofu','cats','dog'] func(spam) #输出结果 apple,bananas,tofu,cats,anddog,
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....
#!/usr/bin/envpython3 #-*-coding:utf-8-*- 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','.','.','.'], ['.','.','.','.','.','.']] #嵌套循环 forninrange(len(grid[0])): forminrange(len(grid)): print(grid[m][n],end='') print('\n')#换行 #输出结果 ..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O....
以上这篇Collatz序列、逗号代码、字符图网格实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。