所以这里是选择“listb.txt”中一个单词的代码的一部分 它的第二部分给了我一个问题。它可以根据第一个字符选择一个单词...但是只要你说“和”,它就会抱怨最后一个字符。示例将是“ mthr ”,并且必须找到 M 其他 r 。 Num 是它在文件中找到匹配项的行,/ 2是因为文件中的单词之间有空格,所以选择正确的单词。
这应该是所有需要的信息...... 有没有人有想法? 谢谢!
with open('listb.txt','r') as f:
x = 1
for line in f:
if x == num/2 and len(sms_word) <= len(line) < 2*(len(sms_word)) and sms_word[0] == line[0]:
print line
break
x += 1
答案 0 :(得分:2)
首先,您可以使用enumerate
简化代码:
for x, line in enumerate(f, 1):
其次,您可以使用startswith
和endswith
来测试字符串:
if (x == num / 2 and
len(sms_word) <= len(line) < 2 * len(sms_word) and
line.startswith(sms_word[0]) and
line.endswith(sms_word[-1])):
最后,文件中的行最后会有一个换行符'\n'
,所以strip()
首先是它们:
line = line.strip()