1
votes

Problème avec le programme d'acronymes simple python

J'essaie de créer un programme d'acronymes où l'utilisateur peut entrer 1 mot par ligne et après avoir entré un espace vide, le programme affichera le mot créé par la première lettre de chaque mot. Il imprime un espace après la sortie dont je ne veux pas. Des idées sur la façon de supprimer cela? Plus d'informations ci-dessous:

Par exemple

User input:
Word: Hello
Word: World

Desired output:
Hello World <-- whitespace here that I don't want
-- HW

My Current Code that works:

words = []
word = input('Word: ')
while word:
  words.append(word)
  word = input('Word: ') #Word input

for word in words:

   print(word, end=" ") #displays all words on one line 

  # Printing a white space ^

# Wanting to print this code on a new line 
first_letters = ''.join([word[0] for word in words])
new=first_letters.upper()
print("\n-- " + new)


1 commentaires

J'ai du code qui produit la sortie que je veux mais il imprime un espace après avoir imprimé les mots que l'utilisateur entre. Des idées sur la façon de supprimer cela?


4 Réponses :


1
votes

Vous y êtes presque. Combiner ce que vous aviez avec num et print :

for word in words:
    print(word[:1], end="")  # Display all first letters without spaces.


0 commentaires

0
votes

Simplement ceci?

words = ['Hello','World']
print(' '.join(w for w in words))
print('-- '+''.join(w[0] for w in words))


0 commentaires

0
votes

Tableau donné de chaînes mots . Il existe plusieurs approches pour obtenir les premières lettres des mots. Peu d'entre eux sont ci-dessous.

Première approche

first_letters = ''.join([word[0] for word in words])
print(first_letters)

Deuxième approche

first_letters = ''
for word in words:
  first_letters += word[0]
print(first_letters) 


0 commentaires

0
votes

Ce code fait tout ce que vous voulez

words = []
word = input('Word: ')
while word:
  words.append(word)
  word = input('Word: ') #Word input


print(' '.join(words))


first_letters = ''.join([word[0] for word in words])
new=first_letters.upper()
print("-- " + new)


0 commentaires