ホームページ  >  記事  >  バックエンド開発  >  Python で書かれたテストの問題

Python で書かれたテストの問題

巴扎黑
巴扎黑オリジナル
2016-12-08 10:13:063491ブラウズ

Python で書かれたテストの問題

次のコード:

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

最初の列は名前、2番目の列は年齢、3番目の列はスコアです

さて、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 までご連絡ください。