我正在做作业,除了最后一个问题,我已经找到了所有问题。我似乎无法弄清楚如果将字符插入比字符串更大的插入点,如何使字符不显示。这是我正在处理的问题:
编写一个程序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)
答案 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)