2015-08-20 5 views
-3

Я пытаюсь сделать программу с помощью Python для класса, который работает так:Строим слово с петлей

'Enter a word: " (EG Stack) 

Затем он выводит

S 
St 
Sta 
Stac 
Stack 

Я считаю, что он будет использовать функция петли, но я полностью застрял!

+2

На что вы застряли? Покажите нам код, в котором вы застряли. –

+0

Дело в том, что у меня на самом деле не много кода, но вот что я до сих пор msg = input ("Введите слово:") length = int (len (msg)) для c в msg: Я просто застрял. – James

+2

Представьте, что вы компьютер, затем запишите процесс, который вы будете использовать для этого (на английском языке), и пропустите его. После того как вы удовлетворены тем, что компьютер может следовать этим инструкциям, переведите его в Python. – TigerhawkT3

ответ

0
msg = raw_input("Enter a word: ") #raw_input will convert the input into a string 
            #otherwise it would crash without quotation marks 

word = ""       #Initialize a variable 

for letter in msg:    #Cycle through each letter 
    word += letter     #Adds that letter to your string 
    print(word)     #Prints out the current letters 
+2

* double newline –

+0

@NiklasR не факт, что все они являются отдельными инструкциями печати, добавляет другую новую строку? – ThatGuyRussell

+0

Да; поэтому вам не нужен другой. Ваша версия будет печатать пустую строку между каждой строкой содержимого. – TigerhawkT3

0

Вы можете использовать нарезку для достижения результата. Каждая итерация цикла for увеличивает индексную переменную (i ниже), и это используется для отображения постоянно растущих фрагментов из строки.

>>> word = 'Stack' 
>>> for i in range(1, len(word)+1): 
...  print word[:i] 
... 
S 
St 
Sta 
Stac 
Stack 

>>> word='Slicing' 
>>> for i in range(1, len(word)+1): 
...  print word[:i] 
... 
S 
Sl 
Sli 
Slic 
Slici 
Slicin 
Slicing 

Вы можете прочитать о нарезке в Python tutorial.