首頁 > 後端開發 > Python教學 > 一道python筆試題

一道python筆試題

巴扎黑
發布: 2020-09-03 15:34:54
原創
3607 人瀏覽過

一道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面試題總結(最新)

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板