插入字符串中间的python

插入字符串中间的python,python,string,insert,Python,String,Insert,我是python新手,我有一本书,可以到处玩,所以请善待我。主要是我一直在玩ASCII艺术 我想做的是在一些文本中隐藏一些艺术。假设我有一个字符串打印输出“word”,我想做的是写一个函数,帮助我在这个词的中间插入一个字符,不管这个词有多长,它总是把我的艺术字符放在这个词的中间。所以我的输出是 “沃德”。 到目前为止,我从以下几点开始: def dashinsert(str): return str[:2] + '-' + str[2:] 我知道这并不是一个接近它需要的地方,我只是一个

我是python新手,我有一本书,可以到处玩,所以请善待我。主要是我一直在玩ASCII艺术

我想做的是在一些文本中隐藏一些艺术。假设我有一个字符串打印输出“word”,我想做的是写一个函数,帮助我在这个词的中间插入一个字符,不管这个词有多长,它总是把我的艺术字符放在这个词的中间。所以我的输出是 “沃德”。 到目前为止,我从以下几点开始:

def dashinsert(str):
    return str[:2] + '-' + str[2:]
我知道这并不是一个接近它需要的地方,我只是一个初学者,但是任何方向都是值得欣赏的,我也不确定我是否做得对

我的目标是从中学习,然后在文字的不同位置插入随机字符,使文字成为艺术。例如,我键入一个段落,艺术将作为一个功能插入。现在我只是想把这个插入部分取下来

def insert_string(org_string, string, pos=None):
    # default position middle of org_string
    if pos is None:
        pos = len(org_string) / 2
    return org_string[:pos] + string + org_string[pos:]


if __name__ == "__main__":
    new_string = insert_string("world", "-")
    print new_string
输出

wo-rd

整数除法使用双斜杠

def dashinsert(str):
    midPoint = len(str)//2
    return str[:midPoint] + '-' + str[midPoint:]

你有一个好的开始!我对Python有点生疏,但是您可以尝试添加一个position参数来改变字符串中插入破折号的位置(现在,它硬编码为position 2:

def dashinsert(str, position):
    length = len(str)
    if (position > length or position < 0):
         return str
    return str[:position] + '-' + str[position:]
然后,您可以使用更高级的方法,使用**kwargs*args来改变传递到函数中的参数。下面是关于这两个概念的一个好例子。

可能重复的
def characterinsert(str, position, insertion):
    length = len(str)
    if (position > length or position < 0):
         return str
    return str[:position] + insertion + str[position:]
import random

def dashinsert(str, insertion):
    length = len(str)
    position = random.randint(0,length)
    return str[:position] + insertion + str[position:]