为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

子衿沉夜 2021-08-14 16:08:38
我正在制作一个脚本,它应该在一个文件中接收一组单词,以 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 的值?
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

您正在寻找的是嵌套循环。简单地说,你需要为每个单词做 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。

查看完整回答
反对 回复 2021-08-14
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

我会在您拥有的当前循环内使用嵌套循环。每次外循环迭代时使该循环运行 25 次,并增加s内循环每次迭代的值。

换句话说,将当前循环的主体放在for s in range(25):. 反过来,应该进入内部for c in range(len(text)):。这有帮助吗?


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号