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

