2016-03-15 1 views
-2

Записывать программы, которые читают строку ввода в виде строки и печатать каждую вторую букву строки в Python?Написать программы, которые читают строку ввода в виде строки и печатать каждую вторую букву строки в Python

До сих пор я написал:

string=input('Enter String: ') 

for char in range(0,len(string),2): 

    print(len(char)) 

если я ввести строку: qwerty
он должен напечатать «qet»

+0

Почему вы печатаете длину символа (который всегда будет 1)? – TigerhawkT3

+0

Что * делает * его печать вместо этого? –

ответ

4

Вы должны держать это намного проще, чем это. Если вы введете слово и хотите отрезать его в определенный момент, используйте нарезку.

Ваши критерии: qwerty it should print "qet"

Итак, вы хотите печатать каждую вторую букву:

>>> a = "querty" 
>>> a[::2] 
'qet' 

нарезка работает так:

[from start: from end: step] 

Таким образом, в вашем случае, вы чтобы просто печатать каждую секунду, поэтому вы хотите использовать свой step. Итак, просто срез, оставляя start и end пустым, так как вы хотите позиционировать себя в начале строки, а затем просто переходить каждую секунду. Это аргументы в пользу использования [::2]

0

Каждая вторая буква должна начинаться с индекса 1, а не 0. Таким образом, если ваш ввод «qwerty», вы должны быть «wry».

Код, указанный ниже, может ответить на ваш вопрос.

sentence = input("\nPlease enter a string : ") 
print("Every second letter of the string " + sentence + " is ", end="") 

for i in range(len(sentence)): 
    if i % 2 == 1: 
     print(sentence[i] + " ", end="") 
Смежные вопросы