首頁  >  文章  >  後端開發  >  一道python筆試題

一道python筆試題

巴扎黑
巴扎黑原創
2016-12-08 10:13:063557瀏覽

一道python筆試題

下面這段代碼:

# name, age, score
tom, 12, 86
Lee, 15, 99
Lucy, 11, 58
Joseph, 19, 56

第一欄為姓名(name),第二欄為年紀(age),第三欄為得分(score)

現在,寫一個Python程序,

1 )讀取文件

2)列印以下結果:

得分低於60的人都有誰?

誰的名字以L開頭?

所有人的總分是多少?

3)姓名的首字母需要大寫,該record.txt是否符合此要求? 如何糾正錯誤的地方?

#read lines from file
fobj = open('record.txt', 'r+')
print 'opened file: ', fobj.name
all_lines = fobj.readlines()
fobj.close()
lines = [l[:-1].split(', ') for l in all_lines if not l.startswith('#') and l.strip()]
#list person who's score less than 60
print [s[0] for s in lines if int(s[2]) < 60]
#list person who&#39;s name starts with &#39;L&#39;
print [s[0] for s in lines if s[0].startswith(&#39;L&#39;)]
#compute the score of all person
print sum([int(s[2]) for s in lines])
#write new lines contains capitalize name into file
fobj = open(&#39;record2.txt&#39;, &#39;w+&#39;)
print &#39;opend file: &#39;, fobj.name
newlines = []
for line in all_lines:
    if line[0].islower():
        line = line.capitalize()
    newlines.append(line)
print newlines
if newlines:
    fobj.writelines(newlines)
fobj.close()

相關文章推薦:《2020年python面試題總結(最新)

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn