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

新手上路,请多包涵

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

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

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

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

 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)

原文由 David 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 819
2 个回答

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

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

if P > len(S):
    print(S)
else:
    st = S[:P] + C + S[P:]

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

原文由 idjaw 发布,翻译遵循 CC BY-SA 3.0 许可协议

还有这个:)

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

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

原文由 Nick Pandolfi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题