web-dev-qa-db-fra.com

insertion de caractères dans les chaînes en python

Je fais mes devoirs et j'ai tout sauf le dernier problème à résoudre. Je n'arrive pas à comprendre comment faire en sorte qu'un caractère ne soit pas visible s'il est inséré à un point d'insertion plus grand que la chaîne. C'est le problème sur lequel je travaille:

Ecrivez un programme insert.py qui simule le comportement d’insertion sur une chaîne. 

Le programme prend trois entrées: un caractère à insérer, sa position et une chaîne de caractères dans laquelle un caractère doit être inséré. Le programme imprime la nouvelle version de la chaîne. Par exemple, si les arguments sont: -, 2, ci-dessous, le programme imprime alors bas. Si une position transmise au programme se situe en dehors des limites de la chaîne d'origine (dans ce cas, <0 ou> 5, rien ne s'ajouterait à la fin du texte ci-dessous), imprimez la chaîne d'origine sans aucune modification (Remarque: un insert valeur de 0 OR la longueur de la chaîne sera ajoutée au début ou ajoutée à la fin, c'est-à-dire que T, 3, peut être canT; T, 0, peut être Tcan et T, 4. peut être peut).

Voici ce que j'ai fait jusqu'à présent:

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)
5
David

Reste simple. Vérifiez si la position est supérieure à la longueur du mot, puis imprimez-le, sinon continuez avec votre logique: 

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)
4
idjaw

Theres aussi cela :)

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

if result:
    print(result)
else:
    print(S)
3
Nick Pandolfi

J'espère que vous avez déjà trouvé la réponse que vous cherchez. Mais ici je voudrais suggérer ma version.

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:])
0