4 回答
TA贡献1884条经验 获得超4个赞
您可以使用 :
def getUserPoint(userName):
f = open('userScores.txt', 'r')
for line in f.readlines():
result = line.splitlines()
if userName in line:
f.close()
return result
f.close()
return "nill"
s = getUserPoint(input('Ann'))
print(s)
TA贡献2012条经验 获得超12个赞
一个问题是您有一个匹配的 else 语句,它将立即结束函数和循环
查看完所有行后,您需要返回默认结果
def getUserPoint(userName):
with open('userScores.txt') as f:
for line in f:
if userName == line.rstrip().split(',')[0]:
return line
return "nill"
然后,如图所示,您要么想要拆分逗号并检查第一列,要么userName in line。否则,您正在检查
'Ann' in ["Ann, 100", ""]
因为splitlines()将在末尾的换行符处分割,返回 False
TA贡献1821条经验 获得超4个赞
见下文
该代码负责关闭文件。
如果没有找到匹配则返回None,否则返回“用户点”
def get_user_point(user_name):
with open('userScores.txt', 'r') as f:
lines = [l.strip() for l in f]
for line in lines:
parts = line.split(',')
if user_name == parts[0]:
return parts[1]
TA贡献1868条经验 获得超4个赞
def getUserPoint(userName):
with open('userScores.txt') as f:
for line in f:
if userName == line.split(',')[0]:
return line
return "nill"
由于我是 Python 和一般编程的新手,我可能会问更多问题。感谢大家的帮助。
添加回答
举报