python list語法學(xué)習(xí)(帶例子)
更新時間:2013年11月01日 14:53:44 作者:
python list語法學(xué)習(xí)
創(chuàng)建:list = [5,7,9]
取值和改值:list[1] = list[1] * 5
列表尾插入:list.append(4)
去掉第0個值并返回第0個值的數(shù)值:list.pop(0)
去掉第0個值但不返回數(shù)值:del(list[0])
去掉具體某個值:list.remove(35)
函數(shù)function:
無參數(shù):def function():
一個參數(shù):def function(x):
2個參數(shù):def function(y):
任意個參數(shù):def add_function(*args):
函數(shù)range:
一個參數(shù):range(n) 從第0位開始數(shù)n個位
兩個參數(shù):range(m,n) 從第m位開始到第n-1位,遞增間隔為1
三個參數(shù):range(m,n,i) 從第m位開始到第n-1位,遞增間隔為i
for item in list: 和 for i in range(len(list)): 等價
對list中的元素用separator作為間隔輸出: print separator.join(list)
如: list = ['a','b','c','d'] 一般的print list會輸出: ['a','b','c','d']。
而 print " ".join(list) 會輸出:a b c d(必須是雙的雙引號,單的雙引號不起作用)
接受鍵盤輸入:
guess_row = int(raw_input("Guess Row:"))
下面是一個自己寫的小程序:生成一個方陣和隨機的位置,叫玩家猜這個生成的位置是哪里
from random import randint
def creat_board(length):
board = []
for i in range(length):
board.append(['O'] * length)
return board
def print_board(x):
for row in x:
print " ".join(row)
def random_row(board):
return randint(0, len(board) - 1)
def random_col(board):
return randint(0,len(board[0]) - 1)
length = int(raw_input("Enter board's length you:"))
board = creat_board(length)
print_board(board)
turns = int(raw_input("Enter turns you want to play:"))
for turn in range(turns):
ship_row = random_row(board)
ship_col = random_col(board)
print "This is " + str(turn + 1) + "th time to guess:"
guess_row = int(raw_input("Enter the row you guess:"))
guess_col = int(raw_input("Enter the col you guess:"))
if guess_row == ship_row and guess_col == ship_col:
print "You win!"
break
else:
if (guess_row < 0 or guess_row > len(board) - 1) or (guess_col < 0 or guess_col > len(board) - 1):
print "Incorrect input!"
if turn == turns - 1:
print "Turns out!"
elif board[guess_row][guess_col] == 'X':
print "You have guessed it already!"
if turn == turns - 1:
print "Turns out!"
else:
print "You guess wrong!"
board[guess_row][guess_col] = 'X'
print_board(board)
if turn == turns - 1:
print "Turns out!"
曾經(jīng)犯的錯誤:
1.創(chuàng)建board函數(shù)忘記返回一個board,所以它一直為空,導(dǎo)致后面的操作都越界了;
2.生成隨機位置的時候,位置row和col的命名一直是跟生成的函數(shù)名一樣(random_row=random_row(board)),導(dǎo)致TypeError: 'int' object is not callable錯誤。
取值和改值:list[1] = list[1] * 5
列表尾插入:list.append(4)
去掉第0個值并返回第0個值的數(shù)值:list.pop(0)
去掉第0個值但不返回數(shù)值:del(list[0])
去掉具體某個值:list.remove(35)
函數(shù)function:
無參數(shù):def function():
一個參數(shù):def function(x):
2個參數(shù):def function(y):
任意個參數(shù):def add_function(*args):
函數(shù)range:
一個參數(shù):range(n) 從第0位開始數(shù)n個位
兩個參數(shù):range(m,n) 從第m位開始到第n-1位,遞增間隔為1
三個參數(shù):range(m,n,i) 從第m位開始到第n-1位,遞增間隔為i
for item in list: 和 for i in range(len(list)): 等價
對list中的元素用separator作為間隔輸出: print separator.join(list)
如: list = ['a','b','c','d'] 一般的print list會輸出: ['a','b','c','d']。
而 print " ".join(list) 會輸出:a b c d(必須是雙的雙引號,單的雙引號不起作用)
接受鍵盤輸入:
guess_row = int(raw_input("Guess Row:"))
下面是一個自己寫的小程序:生成一個方陣和隨機的位置,叫玩家猜這個生成的位置是哪里
復(fù)制代碼 代碼如下:
from random import randint
def creat_board(length):
board = []
for i in range(length):
board.append(['O'] * length)
return board
def print_board(x):
for row in x:
print " ".join(row)
def random_row(board):
return randint(0, len(board) - 1)
def random_col(board):
return randint(0,len(board[0]) - 1)
length = int(raw_input("Enter board's length you:"))
board = creat_board(length)
print_board(board)
turns = int(raw_input("Enter turns you want to play:"))
for turn in range(turns):
ship_row = random_row(board)
ship_col = random_col(board)
print "This is " + str(turn + 1) + "th time to guess:"
guess_row = int(raw_input("Enter the row you guess:"))
guess_col = int(raw_input("Enter the col you guess:"))
if guess_row == ship_row and guess_col == ship_col:
print "You win!"
break
else:
if (guess_row < 0 or guess_row > len(board) - 1) or (guess_col < 0 or guess_col > len(board) - 1):
print "Incorrect input!"
if turn == turns - 1:
print "Turns out!"
elif board[guess_row][guess_col] == 'X':
print "You have guessed it already!"
if turn == turns - 1:
print "Turns out!"
else:
print "You guess wrong!"
board[guess_row][guess_col] = 'X'
print_board(board)
if turn == turns - 1:
print "Turns out!"
曾經(jīng)犯的錯誤:
1.創(chuàng)建board函數(shù)忘記返回一個board,所以它一直為空,導(dǎo)致后面的操作都越界了;
2.生成隨機位置的時候,位置row和col的命名一直是跟生成的函數(shù)名一樣(random_row=random_row(board)),導(dǎo)致TypeError: 'int' object is not callable錯誤。
相關(guān)文章
Python+tkinter實現(xiàn)音樂下載軟件的制作
平常我們下載的歌曲,都是各種妖魔鬼怪的格式橫行,想下載下來用一下都不行,還只能在它的播放器內(nèi)聽,這誰受得了~本文就來用Python制作個音樂下載軟件,需要的可以參考一下2022-09-09
python將字符串轉(zhuǎn)變成dict格式的實現(xiàn)
這篇文章主要介紹了python將字符串轉(zhuǎn)變成dict格式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Django實現(xiàn)簡單網(wǎng)頁彈出警告代碼
今天小編就為大家分享一篇Django實現(xiàn)簡單網(wǎng)頁彈出警告代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python Matplotlib條形圖之垂直條形圖和水平條形圖詳解
這篇文章主要為大家詳細介紹了Python Matplotlib條形圖之垂直條形圖和水平條形圖,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
pyqt5、qtdesigner安裝和環(huán)境設(shè)置教程
這篇文章主要介紹了pyqt5、qtdesigner安裝和環(huán)境設(shè)置方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09

