【问题标题】:How do I repeat words several times in Python?如何在 Python 中多次重复单词?
【发布时间】:2015-12-07 15:54:32
【问题描述】:

我想创建一个字符串,如果 Word 1 是 CHEESE 和 Word 2 = HAM,创建一个看起来像这样的字符串...

CHEESEHAMCHEESEHAMCHEESEHAMCHEESEHAM 等等...

然后我希望获取每个字符的 ASCII 值并将其用于凯撒密码程序。

提前致谢,我对 Python 不太熟悉。

【问题讨论】:

  • 那么你尝试了什么?
  • 'HAM'.join(['CHESSE']*4)
  • 还不算多,我已经完成了我工作的第一部分,我必须提供一个数字,然后将其添加到消息中每个值的 ASCII 值中以获得密码的替代字母。你有什么机会帮助我开始吗?
  • 在网上寻找python教程?
  • Cheers Dain,但是当我运行程序时没有任何反应......我已经有一段时间没有编码了 0_0

标签: python ascii caesar-cipher


【解决方案1】:

要连接两个字符串 s1s2,请使用 + 运算符:

s = s1 + s2

要重复字符串 s n(整数)次,请使用 * 运算符:

ss = s * n

要获取表示字符串ss 的每个字符的整数列表,可以在列表推导中使用内置的ord() 方法:

l = [ord(c) for c in ss]

所以一个完整的程序使用两个字符串和重复次数(这里硬编码为常量),并将上面的 sn-ps 压缩成一行,看起来像这样:

s1 = "CHEESE"
s2 = "HAM"
n = 5

l = [ord(c) for c in (s1+s2)*n]
print (l)

【讨论】:

  • 你是Stack Overflow上第一个称我为“大师”的人... :D
  • 由于这个答案似乎对您有所帮助并解决了您的问题,请接受它(单击它左侧的灰色勾号)。谢谢!还要确保阅读了tour 页面,您可以在不到两分钟的时间内了解有关该网站如何运作的最重要的信息。
【解决方案2】:

你也可以试试这个。

wordOne="cheese"
wordTwo="ham"
i=0
n=5
while i<n:
    print("wordOne", end="")
    print("wordTwo", end="")
    i+=1

【讨论】:

  • 干杯,我试试看:)
  • 你知道你在重新发明轮子吗? (i=0; while i&lt;n: i+=1 而不是 for i in range(n):)此外,列表推导比普通循环更快。
  • 我不知道它们比 while 循环快。谢谢你的评论。我也是 python 新手。
猜你喜欢
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 2022-01-15
  • 2013-09-23
  • 2021-07-25
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多