affiche la chaîne de caractères avec assez d'espace?
Python fournit une fonction intégrée appelée len qui renvoie la longueur d'une chaîne, de sorte que la valeur de len('allen')
est 5
.
Écrire une fonction nommée right_justify
qui prend une chaîne de caractères nommée s
en tant que paramètre et affiche la chaîne de caractères avec suffisamment d'espace, de sorte que la dernière lettre de la chaîne est dans la colonne de 70 de l'écran.
>>> right_justify('allen')
allen
Je l'ai résolu comme ceci:
def right_justify(s):
print " " + s
right_justify('allen')
Est-il de droite?
Sont là Python intégrée méthodes pour faire ce que je dois faire?
jetez un oeil à la chaîne de mise en forme.
Python chaînes disposez de deux méthodes sur l'objet de type string directement.
Python chaînes disposez de deux méthodes sur l'objet de type string directement.
rjust
et ljust
faire exactement ce que vous attendez, de justifier à droite et à gauche justifier respectivement.OriginalL'auteur Bassam Badr | 2012-11-18
Vous devez vous connecter pour publier un commentaire.
Son assez facile avec mise en forme de chaîne:
OriginalL'auteur Jochen Ritzel
Utilisation
format
:ou à l'aide de
str.format
:c'est la simple mise en forme de chaîne, voir mon commentaire sur votre question.
OriginalL'auteur Ashwini Chaudhary
Absolument, il y a une jolie petite astuce, vous pouvez postuler ici:
Dans le cas où il n'est pas parfaitement clair, ça va imprimer total_length - longueur de s blankspaces.
Tout d'abord, je préfère Jochen Ritzel la solution, c'est plus propre que la mienne. Mais la raison pour laquelle vous n'obtenez pas de sortie, c'est que cette fonction retourne votre valeur. Retour est très fondamentale dans toute la programmation informatique, et je vous suggère de vous vous souhaitez expérimenter un peu avec elle.
OriginalL'auteur lfk
J'aurais fait quelque chose comme cela, l'une des nombreuses façons simples de le faire:
OriginalL'auteur Ranji
Je ne vais pas faire vos devoirs pour vous, mais ici, c'est un algorithme simple:
Savoir combien de temps votre chaîne est (indice:
len()
).Savoir combien de places vous avez besoin d'imprimer (astuce: si votre chaîne est de 5 caractères et la longueur totale doit être de 70, que vous voulez imprimer 65 places).
Imprimer les espaces.
Imprimer la chaîne.
Je suppose @Tim a été d'essayer d'éviter d'utiliser les méthodes intégrées sur l'hypothèse que le fait d'éviter leur faisait partie des exigences d'un devoir à la maison (comme c'est souvent le cas). C'est le seul cas où réinventer une méthode intégrée de sens.
OriginalL'auteur Tim
OriginalL'auteur user2489535
OriginalL'auteur Vijayalakshmi
OriginalL'auteur Su_scriptingbee
OriginalL'auteur gfduda feitosa Duda
OriginalL'auteur arakate
Peut-être que j'ai mal lu la question, mais il semble que les réponses qui leur ont été donnés uniquement à donner des résultats corrects si la variable est un caractère de long.
Je suis aussi vraiment nouveau pour le codage et c'est peut-être hors de la base.
Je l'ai fait, alors peu importe ce qui s est défini comme, vous obtenez 69 places de et puis "s".
Si cela est faux, laissez-moi savoir si je peux adapter ma façon de penser.
OriginalL'auteur Dylan
après la définition, la longueur dépend du mot choisi, de ne pas le (s)... si vous créez la formule. longueur, d'espaces et d'impression doit être mis en retrait.
Une variable doit être inventé de sorte que le mot peut être converti à partir str à format variable.
s
est de plus de 70 personnages? Il est préférable d'utiliser intégré dans les fonctions de mise en forme que de re-mettre en œuvre.OriginalL'auteur luis martinez
Voici le code de travail
Sortie
OriginalL'auteur Satish Reddy Venkannagari
Viens de penser à une autre manière de la rendre plus dynamique 🙂
Fonction
def right_justify(s,num):
Fonction D'Appel D'
right_justify("Allen",50)
OriginalL'auteur Ranji
Pour la dernière lettre d'apparaître dans la colonne de 70, vous devez soustraire la longueur de
s
à partir de 70, commeOriginalL'auteur Bikramjeet Singh