猿问

如何在python中多次迭代每个单词?

我正在制作一个脚本,它应该在一个文件中接收一组单词,以 25 种不同的方式加密它们,然后将结果输出到另一个文件。


所以到目前为止我所拥有的是一个脚本,它接收所有单词,只对它们加密一次并输出列表。我不知道如何将每个单词加密 25 次(意思是,从每个单词中生成 25 个新单词)


到目前为止,这是我的代码:


for c in range(len(text)):

    lister = text[c]

    s += 1

    print("Cipher number %s: " % c + encrypt(lister, s))

    output_file.write("\n")

    output_file.write(encrypt(lister, s))

text 是包含单词的文件,函数 encrypt 接收该列表,s 是加密的移位数,这意味着 s = 1 是一种加密方式,而 s = 2 是加密同一个单词的另一种方式。现在的代码以不同的加密方式对所有单词进行加密,因为每次 for 循环通过一个新单词时 s 都会更改其值


只有在 s = 1 到 s = 25 处将前一个单词加密 25 次后,我才能让 for 循环更改 s 的值?


子衿沉夜
浏览 163回答 2
2回答

慕村9548890

您正在寻找的是嵌套循环。简单地说,你需要为每个单词做 25 次任务。for c in range(len(text)):    lister = text[c]    for s in range(1, 26): #goes from 1 to 25.        print("Cipher number %s: " % c + encrypt(lister, s))        output_file.write("\n")        output_file.write(encrypt(lister, s))我还应该提到,python 为我们提供了一种使用“in”运算符迭代列表的更好方法。for lister in text:    for s in range(1, 26): #goes from 1 to 25.        print("Cipher set for word ",lister)        output_file.write("\n")        output_file.write(encrypt(lister, s))如果在遍历列表时需要两个索引号,请改用 enumerate。

慕盖茨4494581

我会在您拥有的当前循环内使用嵌套循环。每次外循环迭代时使该循环运行 25 次,并增加s内循环每次迭代的值。换句话说,将当前循环的主体放在for s in range(25):. 反过来,应该进入内部for c in range(len(text)):。这有帮助吗?
随时随地看视频慕课网APP

相关分类

Python
我要回答