2015-02-01 1 views
0

Новых на питон, мое назначение просит, чтобы спросить пользователь для входа, а затем найти и напечатать первую букву каждого слова в предложениис помощью находки в питоне

до сих пор все у меня есть

phrase = raw_input("Please enter a sentence of 3 or 4 words: ") 

Это все, что у меня есть. Так скажите, что пользователь вводит фразу «эй, как ты», я должен найти и напечатать первую букву каждого слова, чтобы она печатала «hhay»

Я знаю, как индексировать, если это строка, которую программист но не когда пользователь вводит данные.

+0

Ok. Что ты уже испробовал ? – aberna

+0

Для подсказки вы можете использовать встроенную функцию 'split 'split. –

ответ

1

Это делает все, что Ming говорит в одной строке. Вы можете очень хорошо понимать этот код, если будете читать его объяснения.

phrase = raw_input("Please enter a sentence of 3 or 4 words: ")  
output = ''.join([x[0] for x in phrase.split()])  
print output 

Обновление связано с комментарий (Считает только первые 3 слова):

output = ''.join([x[0] for x in phrase.split()])[:3] 

Игнорирование последнее слово (Общее количество слов не имеет значения)

output = ''.join([x[0] for x in phrase.split()])[:-1] 
+1

благодарит Альфи, это помогло! Для следующего я должен присоединиться к первым буквам только из первых трех слов и игнорировать 4-е слово.Как мне это сделать? – loops947

+1

Уверен, что предложение будет иметь только 3 или максимум 4 слова? – Alfie

+1

Если вы нашли ответ, отметьте его. Спасибо – Alfie

0

Вот приблизительный план шагов, которые вы можете предпринять. Поскольку это задание, я оставлю на самом деле сборку их в рабочую программу до вас.

  1. raw_input будет производить строку.
  2. Если у вас есть две строки, одна в foo и один в bar, то вы можете позвонить string.split как foo.split(bar), и результат, который будет представлять собой список строк, в результате разделения содержимого foo сепаратором bar. Например, 'a b c'.split(' ') == ['a', 'b', 'c'].
  3. Вы можете нарезать строку скобками для извлечения из нее определенных символов, считая с нуля в крайнем левом положении. Например, 'abcd'[0] == 'a'.
  4. Если у вас есть строка foo и список строк bar, то вы можете позвонить string.join в foo.join(bar), чтобы произвести одну строку из элементов foo склеенных bar. Например, 'x'.join(['a', 'b', 'c']) == 'axbxc'.
  5. Вы можете print сконструированный выход.

Это, конечно, только один из многих подходов, которые вы могли бы предпринять.

0

В ответ на ваш вопрос «Для следующего я должен присоединиться к первым буквам только из первых трех слов и проигнорировать 4-е слово. Как мне это сделать?»

output = ''.join([x[0] for x in phrase.split()[0:3]]) 

Если вместо этого первый символ всех слов, но последний затем использовать:

output = ''.join([x[0] for x in phrase.split()[0:len(phrase.split()) - 1]])  

 Смежные вопросы

  • Нет связанных вопросов^_^