Collatz 序列、逗號代碼、字符圖網(wǎng)格實例
1.collatz序列
編寫一個名為 collatz()的函數(shù),它 有一個名為 number 的參數(shù)。如果參數(shù)是偶數(shù), 那么 collatz()就打印出 number // 2,并返回該值。如果 number 是奇數(shù),collatz()就打 印并返回 3 * number + 1。 然后編寫一個程序,讓用戶輸入一個整數(shù),并不斷對這個數(shù)調(diào)用 collatz(),直 到函數(shù)返回值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
輸出結(jié)果:
Input a number: 6 6 3 10 5 16 8 4 2 1
2.逗號代碼
假定有下面這樣的列表: spam = ['apples', 'bananas', 'tofu', 'cats']
編寫一個函數(shù),它以一個列表值作為參數(shù),返回一個字符串。該字符串包含所 有表項,表項之間以逗號和空格分隔,并在最后一個表項之前插入and。例如,將前面的 spam 列表傳遞給函數(shù),將返回'apples, bananas, tofu, and cats'。但你的函數(shù)應(yīng)該能夠處理傳遞給它的任何列表。
#!/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) #輸出結(jié)果 apple,bananas,tofu,cats,and dog,
3.字符圖網(wǎng)格
假定有一個列表的列表,內(nèi)層列表的每個值都是包含一個字符的字符串,像這樣:
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 坐標增加。 復(fù)制前面的網(wǎng)格值,編寫代碼用它打印出圖像。
..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', '.', '.', '.'],
['.', '.', '.', '.', '.', '.']]
#嵌套循環(huán)
for n in range(len(grid[0])):
for m in range(len(grid)):
print(grid[m][n], end='')
print('\n')#換行
#輸出結(jié)果
..OO.OO..
.OOOOOOO.
.OOOOOOO.
..OOOOO..
...OOO...
....O....
以上這篇Collatz 序列、逗號代碼、字符圖網(wǎng)格實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python序列對象與String類型內(nèi)置方法詳解
這篇文章主要介紹了Python序列對象與String類型內(nèi)置方法,結(jié)合實例形式分析了Python序列對象與String類型各種常見內(nèi)置方法相關(guān)使用技巧及操作注意事項,需要的朋友可以參考下2019-10-10
解決Linux系統(tǒng)中python matplotlib畫圖的中文顯示問題
這篇文章主要介紹了解決Linux系統(tǒng)中python matplotlib畫圖的中文顯示問題,需要的朋友可以參考下2017-06-06
python圖像填充與裁剪/resize的實現(xiàn)代碼
這篇文章主要介紹了python圖像填充與裁剪/resize,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08
Python tkinter實現(xiàn)的圖片移動碰撞動畫效果【附源碼下載】
這篇文章主要介紹了Python tkinter實現(xiàn)的圖片移動碰撞動畫效果,涉及Python tkinter模塊操作圖片基于坐標動態(tài)變換與數(shù)值判定實現(xiàn)移動、碰撞檢測等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Python selenium+cookie實現(xiàn)免密登陸的示例代碼
本文主要介紹了Python selenium+cookie實現(xiàn)免密登陸的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02

