Python 是否有基于变量添加字符的方法?

Python 是否有基于变量添加字符的方法?,python,count,python-textprocessing,Python,Count,Python Textprocessing,我正在制作一个关于刽子手的文本游戏,到目前为止,我有10个单词,每个单词中有不同数量的字符。最低的字符数是三个,所以我计划在开始时加上三个下划线,以便能够在字符串之后添加下划线 我设置了一个变量,名为wordPlayingLength,它根据通过随机语句选择的单词中的字符数计算整数。我的问题是,是否有一种方法可以在字符中添加与单词长度相匹配的下划线 if (randomNumber == 10): wordPlaying = str("Didgeridoo") ## states the

我正在制作一个关于刽子手的文本游戏,到目前为止,我有10个单词,每个单词中有不同数量的字符。最低的字符数是三个,所以我计划在开始时加上三个下划线,以便能够在字符串之后添加下划线

我设置了一个变量,名为
wordPlayingLength
,它根据通过随机语句选择的单词中的字符数计算整数。我的问题是,是否有一种方法可以在字符中添加与单词长度相匹配的下划线

if (randomNumber == 10):
    wordPlaying = str("Didgeridoo") ## states the word being played
    wordPlayingLength = int(len(wordPlaying)) ## calculates the character length of the word being played
    print(str(wordPlayingLength) + " letters!")

    underscoreCount = (wordPlayingLength)
    print("_ _ _ " + ) ## this is where I got stuck, no idea here

在Python中,可以将字符串乘以整数进行重复:

>>> num_of_underscores = 9
>>> num_of_underscores * "_"
'_________'
如果需要下划线之间的空格,可以执行以下操作

>>> " ".join("_" * num_of_underscores)
'_ _ _ _ _ _ _ _ _'
将一个带有一个下划线的数组乘以一个整数,得到那么多下划线。

首先, 你不需要
wordPlaying=str(“Didgeridoo”)
只要
wordPlaying=“Didgeridoo”

wordPlayingLength=int(len(wordPlaying))
just
wordPlayingLength=len(wordPlaying)

第二,,
要重复字符串,可以使用
'.'*wordPlayingLength

这是您的程序,其中包含我认为您正在描述的逻辑:

if randomNumber == 10:
    wordPlaying = "Didgeridoo"
    print("{}  letters!".format(len(wordPlaying)))
    print(' '.join('_' * len(wordPlaying)))
我已经删除了一些不必要的括号和
str()
int()
的用法。由于调用字符串或列表的
len()
是一个常量时间操作,因此无需保存,也无需使用变量在此处存储长度

您需要了解的关键行为包括:

  • ,它获取iterable的元素,并通过将iterable的元素与调用它的字符串的内容交错,将它们生成一个字符串
  • 如果同时添加
    s
    n
    副本,运算符将返回您得到的序列