我在尝试使用python读取文本文件中的多行时遇到了问题。我的问题是,获取特定于用户的输入并找到那段文本,然后用多行文字将其打印出来。我试图通过使用elif
来继续这一部分,将其保存在while
函数中。这个代码是采取一个用户的美国州,是输入和打印该州的国会大厦和州鸟后面的状态。这是通过读取包含所有50个州信息的文本文件来完成的。这是我目前正在使用的代码。这是我正在做的菜单的一小部分。你知道吗
elif x == "2":
f = open("States and Capitals.txt", "r")
x = input("Enter the state you would like to search: ")
searchlines = f.read()
for x, line in enumerate(searchlines):
if x in line:
for l in searchlines[i:i+3]: print l,
print(x)
f.close()
文本文件示例:
阿拉巴马州
首都:蒙哥马利
国鸟:黄锤
国花:山茶花
阿拉斯加
首都:朱诺
国鸟:柳树
国花:别忘了我
亚利桑那州
首都:凤凰城
国鸟:仙人掌鹪鹩
国花:仙人掌花
试试这个。首先可以使用
split()
函数将文件输入拆分为一个列表,在本例中,该函数使用"\n"
或newline
作为分隔符。然后您只需打印索引或找到的字符串(如果存在)的下3行。这里我假设你想打印州,首都,鸟和花(共4行)。你知道吗如果您想从输出中排除状态,因为它可能是冗余的,那么您可以进行以下小改动:
我想这样可能行得通。这样做的结果是,您将获得包含所需行的变量输出。你可以把它打印出来。你知道吗
你可以使用这个代码
相关问题 更多 >
编程相关推荐