1.collatz序列
編寫一個名為 collatz()的函數,它 有一個名為 number 的參數。如果參數是偶數, 那么 collatz()就打印出 number // 2,并返回該值。如果 number 是奇數,collatz()就打 印并返回 3 * number + 1。 然后編寫一個程序,讓用戶輸入一個整數,并不斷對這個數調用 collatz(),直 到函數返回值1。
#!/usr/bin/env python3# -*- coding:utf-8 -*-def collatz(number): print(number) if number ==1: return number elif number % 2 ==0: return collatz(number//2) else: return collatz(3*number +1)A = int(input('Input a number: '))while True: if collatz(A) != 1: continue else: break輸出結果:
Input a number: 663105168421
2.逗號代碼
假定有下面這樣的列表: spam = ['apples', 'bananas', 'tofu', 'cats']
編寫一個函數,它以一個列表值作為參數,返回一個字符串。該字符串包含所 有表項,表項之間以逗號和空格分隔,并在最后一個表項之前插入and。例如,將前面的 spam 列表傳遞給函數,將返回'apples, bananas, tofu, and cats'。但你的函數應該能夠處理傳遞給它的任何列表。
#!/usr/bin/env python3# -*- coding:utf-8 -*-def func(spam): spam[-1]='and'+ ' ' + spam[-1] for i in range(len(spam)): print(spam[i], end=',')spam = ['apple', 'bananas', 'tofu', 'cats', 'dog']func(spam)#輸出結果apple,bananas,tofu,cats,and dog,
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/env python3# -*- 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', '.', '.', '.'], ['.', '.', '.', '.', '.', '.']]#嵌套循環for n in range(len(grid[0])): for m in range(len(grid)): print(grid[m][n], end='') print('/n')#換行#輸出結果..OO.OO...OOOOOOO..OOOOOOO...OOOOO.....OOO.......O....以上這篇Collatz 序列、逗號代碼、字符圖網格實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
|
新聞熱點
疑難解答