标题非常糟糕,不知道怎么说。
基本上我需要检查来自txt文件的输入是否按字典顺序排列。我从文件中读取,将单个单词加载到列表中,然后使用python' s' < '如果是真的。
我需要帮助的部分正在做
word1< word2< WORD3
无论多少单词都在列表中,并且文件中有许多行,所以适当的次数。 因此,如果第1行只有2个字,那么它只会做
word1< WORD2
但第1行是5个单词,它会检查
word1< word2< word3< word4<的word5
我的代码目前在这个地方,因为我老实说难倒,我对python相对较新,所以解释会有所帮助
with open ("lines.txt", "r") as myfile:
linelist = myfile.readlines()
count = len(linelist)
l1 = linelist[0]
line1split = l1.split()
l1count = len(line1split)
l2 = linelist[1]
line2split = l2.split()
l2count = len(line2split)
l3 = linelist[2]
line3split = l3.split()
l3count = len(line3split)
l4 = linelist[3]
line4split = l4.split()
l4count = len(line4split)
l5 = linelist[4]
line5split = l5.split()
l5count = len(line5split)
line1split = l1.split()
if line1split[0] < line1split[1]:
print('Line 1 is ascending.')
答案 0 :(得分:2)
执行此操作的一种简单方法是使用嵌套for循环,首先使用循环迭代该行,然后使用第二个for循环迭代该行中的每个单词。示例 -
with open ("lines.txt", "r") as myfile:
for i, line in enumerate(myfile):
flag = True
words = line.split()
for j, word in enumerate(words):
if j == len(words) - 1:
break
elif word >= words[j+1]:
flag = False
break
if flag:
print('Line {} is ascending'.format(i+1))