在python中的字符串中插入字符

时间:2016-03-17 02:55:31

标签: python python-3.x

我正在做作业,除了最后一个问题,我已经找到了所有问题。我似乎无法弄清楚如果将字符插入比字符串更大的插入点,如何使字符不显示。这是我正在处理的问题:

  

编写一个程序insert.py,模拟字符串上的插入行为。

     

程序有三个输入:要插入的字符,其位置以及要插入字符的字符串。该程序打印新版本的字符串。例如,如果参数是: - ,2,下面,则程序打印为-low。如果传递给程序的位置超出了原始字符串的边界(在这种情况下< 0或> 5 - 将在下面的末尾附加任何内容),则打印原始字符串,不做任何更改(注意:插入值为0或者字符串的长度将添加到开始或追加到结尾,即T,3,可以是canT; T,0,可以是Tcan,而T,4,可以是)。

这是我到目前为止所做的:

C = input("Choose your charecter to insert. ")
P = int(input("Choose your character's position. "))
S = input("Choose your string. ")
st = S[:P] + C + S[P:]

print(st)
print(C, P, S)

4 个答案:

答案 0 :(得分:5)

保持简单。检查位置是否大于单词的长度然后只打印单词,否则继续你的逻辑:

void*

答案 1 :(得分:3)

Theres也是这样:))

result = list(S).insert(P, C)

if result:
    print(result)
else:
    print(S)

答案 2 :(得分:0)

希望您已经找到了所需的答案。但是在这里我想建议我的版本。

C = input("Choose your charecter to insert. ")
P = int(input("Choose your character's position. "))
S = input("Choose your string. ")
print(S if P>len(S) else S[:P] + C + S[P:])

答案 3 :(得分:-1)

我们将字符串转换为列表,然后更改值(通过在字符串之间插入字符来更新字符串)。

def anystring(string, position, character):
    list2=list(string)
    list2[position]=character
    return ''.join(list2)