with open("p022_names.txt","r") as f: for line in f: name=[str(v) for v in line.split(",")]name.sort()print(name)tot=0for i in range(len(name)): tot=tot+sum(ord(letter)-64 for letter in name[i])print(tot)从文件中读取数据时,它还会在名称中添加“和”。如果名称是 COLIN,它会在列表名称中保存为“COLIN”。我该如何解决?输入文件。"MARY","PATRICIA","LINDA","BARBARA","ELIZABETH","JENNIFER","MARIA","SUSAN","MARGARET","DOROTHY","LISA","NANCY","KAREN","BETTY","HELEN","SANDRA","DONNA","CAROL","RUTH","SHARON","MICHELLE","LAURA","SARAH","KIMBERLY","DEBORAH","JESSICA","SHIRLEY","CYNTHIA","ANGELA","MELISSA","BRENDA","AMY","ANNA","REBECCA","VIRGINIA","KATHLEEN","PAMELA","MARTHA","DEBRA","AMANDA","STEPHANIE","CAROLYN","CHRISTINE","MARIE","JANET","CATHERINE","FRANCES","ANN","JOYCE","DIANE","ALICE","JULIE","HEATHER","TERESA","DORIS","GLORIA","EVELYN","JEAN","CHERYL","MILDRED","KATHERINE","JOAN","ASHLEY","JUDITH","ROSE","JANICE","KELLY","NICOLE","JUDY","CHRISTINA","KATHY","THERESA","BEVERLY","DENISE","TAMMY","IRENE","JANE","LORI","RACHEL","MARILYN","ANDREA","KATHRYN","LOUISE","SARA","ANNE","JACQUELINE","WANDA","BONNIE","JULIA","RUBY","LOIS","TINA","PHYLLIS","NORMA","PAULA","DIANA","ANNIE","LILLIAN","EMILY","ROBIN","PEGGY","CRYSTAL","GLADYS","RITA","DAWN","CONNIE","FLORENCE","TRACY","EDNA","TIFFANY","CARMEN","ROSA","CINDY","GRACE","WENDY","VICTORIA",输出 ['"MARY"','"..."','"..."',..]
3 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
如果您想从字符串中删除这些字符,您可以执行以下操作:
s = s.replace("\"","")
这将"用空字符串替换所有实例。
如果您只想将它们从字符串的末端移除,您可以这样做
s = s.strip("\"")
如果您想确保只从每一端删除一个引号,您可以执行以下操作:
if s.startswith("\""):
s = s[1:]
elif s.endswith("\""):
s = s[:-1]
如果您知道字符串将始终带有引号,则可以将其简化为:
s = s[1:-1]
然而,这个文件似乎是一个 csv 文件,使用csvlib解析这些文件要好得多。

缥缈止盈
TA贡献2041条经验 获得超4个赞
这是我的解决方案。它支持以逗号分隔的行中的多个名称,也支持文件中的多行。
names = []
with open('p022_names.txt') as f:
for line in f:
names.extend(v.lower().strip('"').strip("'") for v in line.split(","))
names.sort()
for name in names:
tot = sum(ord(letter)-96 for letter in name)
print("{0}: {1}".format(name, tot))
添加回答
举报
0/150
提交
取消