Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/103: Рейтинг темы: голосов - 103, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 4

Принять текст из пользовательского ввода, и напечатать этот текст на экране наоборот

11.04.2013, 16:11. Показов 22536. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане.Я изучаю python несколько дней, так что прошу не ругать)
Столкнулся с единственной проблемой,на текущий момент, в плане реализации программы.
Суть программы такая: "Нужно написать программу, которая бы принимала текст из пользовательского ввода
и печатала этот текст на экране наоборот.
"

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

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
word = input ("Введите ваше слово, не меньше чем из 3 букв")
print ("ваше слово длинной", len(word))
if len(word) == 3:
    print(word[2])
    print(word[1])
    print(word[0])
 
elif len(word) == 4:
    print(word[3])
    print(word[2])
    print(word[1])
    print(word[0])
 
elif len(word) == 5:
    print(word[4])
    print(word[3])
    print(word[2])
    print(word[1])
    print(word[0])
и т.д

Но конечно этот код ужасен, и алгоритм конечно же не тот который я представляю.
Вообщем я прошу помочь написать нормальный код данной программы
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2013, 16:11
Ответы с готовыми решениями:

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

Дан текст из 60 литер.Напечатать только строчные русские буквы, входящие в этот текст
Дан текст из 60 литер.Напечатать только строчные русские буквы, входящие в этот текст

Дан текст из 60 символов. Напечатать этот текст, подчёркивая все входящие в него гласные
Дан текст из 60 символов. Напечатать этот текст, подчёр- кивая (ставя минусы в соответствующих позициях следу- ющей строки) все...

23
2 / 2 / 0
Регистрация: 08.02.2013
Сообщений: 8
11.04.2013, 16:36
Python
1
2
3
4
5
a = str(input("Input text:"))
k = ""
for i in a[::-1]:
    k = k + i
print(k)
1
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
11.04.2013, 17:18
Python
1
2
while True:
    input("> ")[::-1]
Добавлено через 6 минут
Ой, напечатать забыл.

Python
1
2
while True:
    print(input("> ")[::-1])
Впрочем, это то же самое, что у Negal.

voxfoot, вы бы хоть цикл написали for i in range(len(word)). Как там в Learn You a Haskell: "Repeating yourself (three times) while programming is about as desirable as getting kicked inna head."
1
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 4
11.04.2013, 19:55  [ТС]
Круто! спасибо
правда остался последний вопрос)
Python
1
[::-1]
- это двойной срез от начала до конца с вычетом последнего индекса?
т.е не совсем понятен механизм, как он перебирает буквы.
0
2 / 2 / 0
Регистрация: 08.02.2013
Сообщений: 8
11.04.2013, 19:57
[(Начало) : (Конец) : (Шаг (в данном случае "-1" с конца) )]

То есть мы перебираем весь список с конца
1
 Аватар для pashtet-kun
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400
11.04.2013, 19:58
это 'тройной' срез - от начала и до конца, третий параметр - '-1' - это шаг. Т.е с шагом 1 с конца
1
0 / 0 / 1
Регистрация: 25.01.2013
Сообщений: 4
11.04.2013, 20:08  [ТС]
Спасибо парни! разобрался
0
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 1
17.07.2015, 05:12
А так не проще?

text = input("Введите текст: ")
print(text[::-1])
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 11
17.07.2015, 16:53
Срезы можно использовать как для строк, так и для массивов?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.07.2015, 17:10
fairy_, а ещё для кортежей, строк и т д
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 11
17.07.2015, 18:09
Спасибо. Просто начинаю осваивать питон
0
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 1
17.07.2015, 18:30
Я так понял, из книги Майкла Доусона задачка взята, тоже по ней пробую учится. Код хороший
Python
1
2
text = input("Введите текст: ")
print(text[::-1])
,но в книге двойной срез не освещается (почему автор не указал, не понятно?). Смог решить вопрос, вот так (если брать, о каких операторах и т.д. говорилось, до этого задания в книге).
Python
1
2
3
4
5
6
7
8
9
10
11
a = str(input("Введите слово:"))
 
s = ""
f = 1
f += len(a)
 
for i in range(1, f):
    p = -i
    s += a[p]
 
print(s)
Если, есть другие варианты, с удовольствием бы посмотрел.
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
18.07.2015, 12:29
Python
1
2
3
4
5
s[::-1]
''.join(reversed(s))
''.join(s[i] for i in range(len(s) - 1, -1, -1))
''.join(s[-i] for i in range(1, len(s) + 1))
functools.reduce(lambda a, c: c + a, s)
1
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 1
20.07.2015, 17:19
Neznauschii, да, тоже по нему изучаю. Вот мой:
Python
1
2
3
4
5
6
7
text = input('Введите слово: ')
dlina = len(text)
word = ''
while len(word) != dlina:
    word += text[-1]
    text = text[:-1]
print(word)
0
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 10
06.09.2015, 18:12
Python
1
2
3
4
5
6
word=input("Введите любое слово: ")
finish=-len(word)-1
newword=""
for i in range(-1,finish,-1):
    newword+=word[i]
print(newword)
Вот что получилось после неделе обучения по "Майклу Доунсуну" конечно хотелось достичь было более краткого кода как у товарищей повыше но с тем багажем знаний что есть лучше бы и не смог. Зато обнаружил косяк в пайтоне если например добавить новую строку в мой код Для того что бы поэтапно показывала как переворачивает слово то корректно это делает только с английскими буквами с русскими выводит лишь последнюю букву несколько раз в зависимости от количества букв в слове/словах.

Python
1
2
3
4
............................
for i in range(-1,finish,-1):
    print(newword)# убрать эту строку если печатаете русские буквы
...................................
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
06.09.2015, 18:31
Цитата Сообщение от YakobZ Посмотреть сообщение
Вот что получилось после неделе обучения по "Майклу Доунсуну"
Одна из самых бестолковейших книг.
Цитата Сообщение от YakobZ Посмотреть сообщение
конечно хотелось достичь было более краткого кода
Я тебе больше скажу, это делается все в 1 строку
Python
1
print(input("Введите любое слово: ")[::-1])
Цитата Сообщение от YakobZ Посмотреть сообщение
Зато обнаружил косяк в пайтоне если например добавить новую строку в мой код Для того что бы поэтапно показывала как переворачивает слово то корректно это делает только с английскими буквами с русскими выводит лишь последнюю букву несколько раз в зависимости от количества букв в слове/словах.
Ни какой ошибки ни где нет, ни в твоём "коде", ни темболее в интерпреаторе.
1
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
06.09.2015, 19:33
Есть еще один способ, в данной ситуации я бы его не использовал, но лишних знаний не бывает.
Python
1
2
msg = reversed(input())
print(''.join(msg))
0
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 26
19.02.2016, 08:33
Хз но мой код сработал (хотя сам не знаю, зачем -1::-1 написал, но работает)

Python
1
2
result = input("n\Enter messages")
print(result[-1::-1])
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
19.02.2016, 09:15
Цитата Сообщение от muzqaymoq-com Посмотреть сообщение
result = input("n\Enter messages")
print(result[-1::-1])
Python
1
print(input("Msg: ")[::-1])
1
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 26
19.02.2016, 12:32
Jabbson, Но-но-но))) Этот вариант остается за Sir alex925'ом, изящный и минималистичный))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2016, 12:32
Помогаю со студенческими работами здесь

Дан текст из 60 литер.Напечатать только строчные русские буквы, входящие в этот текст
Дан текст из 60 литер.Напечатать только строчные русские буквы, входящие в этот текст

Дан текст из малых латинских букв. Напечатать по разу все буквы, входящие в этот текст
Имя входного файла zmn8.in Имя выходного файла zmn8.out Дан текст из малых латинских букв. Напечатать по разу все буквы, входящие в...

Дан текст из строчных русских букв, за которым следует точка. Напечатать этот текст заглавными русскими буквами
Здравствуйте, кто-нибудь может подсказать как делать данную программу? У меня было две версии: 1)использовать оператор string, но из -за ...

Дан произвольный текст. Напечатать в алфавитном порядке все буквы, которые входят в этот текст по одному разу
for(a=0; a < n; a++) for(b=n-1; b >= a; b--) { if(i > i) { t = i; i = i; i = t;...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru