基于Python3 逗號(hào)代碼 和 字符圖網(wǎng)格(詳談)
逗號(hào)代碼
假定有下面這樣的列表:
spam=['apples','bananas','tofu',' cats']
編寫一個(gè)函數(shù),它以一個(gè)列表值作為參數(shù),返回一個(gè)字符串。該字符串包含所有表項(xiàng),表項(xiàng)之間以逗號(hào)和空格分隔,并在最后一個(gè)表項(xiàng)之前插入 and 。例如,將前面的spam列表傳遞給函數(shù),將返回'apples,bananas,tofu,and cats'。但是你的函數(shù)應(yīng)該能夠傳遞給它的任何列表。
代碼如下:
import copy
def conFun(nameList):
n=len(nameList)
newList=copy.copy(nameList)
newList.insert(n-1,'and')
# print(newList)
a=str(newList.pop())
b=str(newList.pop())
c=''
c=b+' '+a
newOne=''
newOne=newList[0]
i=1
for j in newList:
newOne=newOne+','+newList[i]
i=i+1
if i==len(newList):
break
print(newOne+','+c)
驗(yàn)證代碼:
================== RESTART: /Users/valen/Documents/test.py ================== >>> spam=['apple','bananas','tofu','cats'] >>> conFun(spam) apple,bananas,tofu,and cats >>>
字符圖網(wǎng)格
假定有一個(gè)列表的列表,內(nèi)層列表的每個(gè)值都是包含一個(gè)字符的字符串,像這樣:
grid = [ ['.', '.', '.', '.', '.','.'],
['.', '0', '0', '.', '.','.'],
['0', '0', '0', '0', '.','.'],
['0', '0', '0', '0', '0','.'],
['.', '0', '0', '0', '0','0'],
['0', '0', '0', '0', '0','.'],
['0', '0', '0', '0', '.','.'],
['.', '0', '0', '.', '.','.'],
['.', '.', '.', '.', '.','.']]
你可以認(rèn)為grid[x][y]是一幅“圖”在x,y坐標(biāo)處的字符,該圖由文本字符組成。原點(diǎn)(0,0)在左上角,向右x坐標(biāo)增加,向下y坐標(biāo)增加。
復(fù)制前面的網(wǎng)格值,編寫代碼用它打印圖像。
..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O....
提示:你需要使用循環(huán)嵌套循環(huán),打印出grid[0][0],然后grid[1][0],然后grid[2][1],以此類推,知道grid[8][0]。這就完成第一行,所以接下來打印換行。然后程序?qū)⒋蛴〕鰃rid[0][1],然后grid[1][1],然后grid[2][1],以此類推。程序最后將打印出grid[8][5]。
而且,如果你不希望在每次print()調(diào)用后都自動(dòng)打印換行,記得向print()傳遞end關(guān)鍵字參數(shù)。
import copy
grid = [ ['.', '.', '.', '.', '.','.'],
['.', '0', '0', '.', '.','.'],
['0', '0', '0', '0', '.','.'],
['0', '0', '0', '0', '0','.'],
['.', '0', '0', '0', '0','0'],
['0', '0', '0', '0', '0','.'],
['0', '0', '0', '0', '.','.'],
['.', '0', '0', '.', '.','.'],
['.', '.', '.', '.', '.','.']]
c=[]
c=copy.deepcopy(grid)
#print(c)
gridLen=len(grid)
cyctime=len(grid[0])
#print(cyctime)
i=0
j=0
for j in range(cyctime):
if j < cyctime :
for i in range(gridLen):
if i < gridLen :
print(c[i][j],end=' ')
i=i+1
print('\n')
j=j+1
輸出如下:
================== RESTART: /Users/valen/Documents/test.py ================== . . 0 0 . 0 0 . . . 0 0 0 0 0 0 0 . . 0 0 0 0 0 0 0 . . . 0 0 0 0 0 . . . . . 0 0 0 . . . . . . . 0 . . . . >>>
以上這篇基于Python3 逗號(hào)代碼 和 字符圖網(wǎng)格(詳談)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python操作Oracle數(shù)據(jù)庫(kù)的簡(jiǎn)單方法和封裝類實(shí)例
這篇文章主要介紹了Python操作Oracle數(shù)據(jù)庫(kù)的簡(jiǎn)單方法和封裝類,結(jié)合實(shí)例形式分析了Python簡(jiǎn)單連接、查詢、關(guān)閉Oracle數(shù)據(jù)庫(kù)基本操作,并給出了一個(gè)Python針對(duì)Oracle各種操作的封裝類,需要的朋友可以參考下2018-05-05
python xmind 包使用詳解(其中解決導(dǎo)出的xmind文件 xmind8可以打開 xmind2020及之后版本打
xmind8 可以打開xmind2020 報(bào)錯(cuò),如何解決這個(gè)問題呢?下面小編給大家?guī)砹藀ython xmind 包使用(其中解決導(dǎo)出的xmind文件 xmind8可以打開 xmind2020及之后版本打開報(bào)錯(cuò)問題),感興趣的朋友一起看看吧2021-10-10
Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解
這篇文章主要為大家介紹了在Anaconda環(huán)境下,創(chuàng)建、使用與刪除Python虛擬環(huán)境的方法,具有一定的借鑒價(jià)值,需要的小伙伴可以跟隨小編一起了解一下2023-08-08
Python如何實(shí)現(xiàn)Excel的最合適列寬(openpyxl)
這篇文章主要介紹了Python如何實(shí)現(xiàn)Excel的最合適列寬(openpyxl),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
python 辦公自動(dòng)化——基于pyqt5和openpyxl統(tǒng)計(jì)符合要求的名單
前幾天接到的一個(gè)需求,因?yàn)閷W(xué)校給的名單是青年大學(xué)習(xí)已學(xué)習(xí)的名單,然而要知道未學(xué)習(xí)的名單只能從所有團(tuán)員中再排查一次,過程相當(dāng)麻煩。剛好我也學(xué)過一些操作辦公軟件的基礎(chǔ),再加上最近在學(xué)pyqt5,所以我決定用python寫個(gè)自動(dòng)操作文件的腳本給她用用。2021-05-05

