我将如何修复我的代码以便以这种格式创建一个单词文件(见正文)?

Posted

技术标签:

【中文标题】我将如何修复我的代码以便以这种格式创建一个单词文件(见正文)?【英文标题】:how would I fix my code inorder to create a file of words in this format(see body)? 【发布时间】:2022-01-10 07:11:49 【问题描述】:

查看单词是否可以向后读取并且也是文件中的单词。如果单词是,将单词保存在列表中。浏览完每个单词后,对列表进行排序,打印出/将单词与其向后读的单词配对写入一个新文件。

the format that should be the final outcome

这是我目前的代码,我想知道是否有人可以帮助我?

f = open('C:\\Users\\Owner\\OneDrive\\Documents\\RandomWords.txt')
words = f.readlines() #creats list and gets rid of whitespace
for i in range(len(words)):
    words[i] = words[i].strip()

f.close()

f2 = open('C:\\Users\\Owner\\OneDrive\\Documents\\finaloutput.txt', 'w')

for j in words:
    temp = j.lower()[::-1] #reads backwards
    if j.capitalize() in words:
        f2.write('--\n'.format(words[i], temp))
f2.close()

好的,这是我更新后的代码,我需要帮助对其进行排序并删除名为 Target.txt 的新书面文件中的重复单词。

This is part of the file Target.txt and there are repeat words father down but I cant fit it in the pic

f = open('C:\\Users\\Owner\\OneDrive\\Documents\\RandomWords.txt')
words = f.readlines() #creats list and gets rid of whitespace

list1 = []

for i in range(len(words)):
    words[i] = words[i].strip()
    list1.append(words[i])

f.close()

f2 = open('C:\\Users\\Owner\\OneDrive\\Documents\\Target.txt', 'w')


for j in words:
    temp = j.lower()[::-1] #reads backwards
    if temp.capitalize() in list1:
        list1.remove(temp.capitalize())
        f2.write('--\n'.format(j, temp.capitalize()))
f2.close()

【问题讨论】:

【参考方案1】:

您的代码是正确的,您只是在最后一句话中使用了错误的变量。

f = open('C:\\Users\\Owner\\OneDrive\\Documents\\RandomWords.txt')
words = f.readlines() #creats list and gets rid of whitespace
for i in range(len(words)):
    words[i] = words[i].strip()

f.close()

f2 = open('C:\\Users\\Owner\\OneDrive\\Documents\\finaloutput.txt', 'w')

for j in words:
    print('yes')
    temp = j.lower()[::-1] #reads backwards
    if temp.capitalize() in words:
        print('uwu')
        f2.write('--\n'.format(j, temp))
f2.close()

您还在 if 语句中使用了 j 而不是 temp。 因为您在将其写入文件时使用了words[i],所以它只会写入随机单词文件中的最后一项。并且因为您使用了j 变量而不是temp,所以它没有被翻转,因此不起作用。

【讨论】:

非常感谢,这更有意义。 你认为你能帮我解决我的新问题吗?

以上是关于我将如何修复我的代码以便以这种格式创建一个单词文件(见正文)?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确地将时区设置为 UTC,以便以这种格式正确保存和检索所有时间戳?

如何以表格格式调用我的输出以便我可以查询它?

文件打开和文件保存

如何以输出生成“创建表语句”的方式格式化 Oracle SQL 查询?

如何从数据网格中以特定格式创建 txt 文件?

如何修复此代码,我没有收到错误,但数据未导出到 csv