通过阅读您的帖子,我假设每组 3 个数字并不总是在不同的行上。并且您正在寻找以用户正在寻找的任何内容(例如 10)开头的每个集合。
浏览您的代码...
levelChart = open("RunescapeLevelsChart.txt", "r")
actualLevel = raw_input("Level : ")
到目前为止,一切都很好。
if actualLevel in open("RunescapeLevelsChart.txt").read() :
此时, actualLevel 是您的输入(例如“10”)
open("RunescapeLevelsChart.txt").read() 将整个文本文件存储在内存中。
因此,您正在从整个文件中搜索“10”。从你的例子中,将评估为“真”
actualLevelSplit = actualLevel.split()
print actualLevelSplit
split() 用空格分割你的字符串。所以在这里,你将“10”分成['10'](一个列表)
else:
print("Failed.")
raw_input("End")
- raw_input 将在尝试继续之前等待用户输入,我假设您在这里尝试“暂停”。你所拥有的应该工作。
现在已经说过了..这应该可以满足您的需求..
levelChart = open("RunescapeLevelsChart.txt", "r")
actualLevel = raw_input("Level : ")
for line in levelchart: # Read the file line-by-line.
number_sets = line.split()
for set in number_sets:
if set.startswith(actualLevel + '-'):
print set
#>>> "10-50-100"
# Now you can further split each number into individual numbers
nums = set.split('-')
print nums
#>>> ['10', '50', '100']
# At this point, you can fetch the numbers from the list
levelChart.close() # Dont' forget to close the file object when you're done.
希望这可以帮助。