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)
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)
Theres aussi cela :)
result = list(S).insert(P, C)
if result:
print(result)
else:
print(S)
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:])