Python初學的問題記錄1 2

2021-09-18 03:31:10 字數 1336 閱讀 7635

問題原因:python和c的語法不同,對空列表不能直接進行指定位置的賦值。

舉例:編寫乙個函式返回最大值和最小值

def function2():

list1 =

while true:

a = int(input('請輸入整數 按0結束'))

if a == 0:

break

else:

#c的方式是以下,會出現報錯,原因是空列表不能直接指定位置

#n=0

#list1[n] = a

#n += 1

print('max is %d' %max(list1))

print('min is %d' %min(list1))

function2()

對list列表進行檔案操作,open與write檔案輸入輸出問題

寫入檔案使用的是write函式,如果直接把write後面加list列表,系統會提示write的引數必須是str:

typeerror: write() argument must be str, not list

採用強制轉換的策略,看一下輸出結果:

file3 = open('test_file.txt', 'w')

list3 = ['\n , this is a test list ']

file3.write(str(list3))

file3.close()

寫到file3的檔案內容是:

['\n , this is a test list ']

很顯然,這不是我們想要的結果,因為轉義字元\n被原樣輸出了,因此這樣的方式其實是保留了列表原樣的顯示方式。

所以換一種顯示方法,用for迴圈輸出寫入檔案

file3 = open('test_file.txt', 'w')

list3 = ['\n , this is a test list ']

if len(list3) == 1:

file3.write(list3[0])

else:

for i in range(0, len(list3)-1):

file3.write(list3[i])

file3.close()

寫到file3的檔案內容是:

, this is a test list 

這是正常顯示內容。

初學Python的問題記錄1

學習定義函式的時候,教程有個自定義的求絕對值的my abs函式,我在notepad 裡面定義好函式 如圖一所示 然後再在python環境裡面執行,就會有如圖二的報錯 經過排查是因為在 notepad 裡面,if那行已經手動空格了,return那行就自動也空出那麼多位置,但是自動空出來的位置不是空格而...

python問題記錄

今天才python群裡看到乙個問題 python2.7 l x for x in hello print lprint x python3.4 l x for x in hello print l print x 兩者都可以列印出 l h e l l o 但是只有python2.7可以列印出變數x的...

刷題記錄12

某條街被劃為 n 條路段,這 n 條路段依次編號為1 dots n1 n。每個路段最多可以種一棵樹。現在居民們給出了 h 組建議,每組建議包含三個整數 b,e,t,表示居民希望在路段 b 到 e 之間至少要種t棵樹。這些建議所給路段的區間可以交叉。請問 如果要滿足所有居民的建議,至少要種多少棵樹。i...