Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 18, 2019 10:29:21

AliceCherry
Зарегистрирован: 2019-06-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Кавычки в input()

Доброго времени суток!
У меня есть вот такой код:

 >>> new_name = input('Укажите ваше значение: ')
Укажите ваше значение: folder_name
>>> folder_name = 'x'
>>> new_name
'folder_name'
>>> 
А должно выводить ‘x’.
Видимо, input добавляет к считываемому объекту кавычки (вероятно, преобразовывает в строку), и из-за этого folder_name не может быть считана как переменная. Как этого можно избежать?



================================ RESTART ================================

Офлайн

#2 Июнь 18, 2019 10:52:49

AliceCherry
Зарегистрирован: 2019-06-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Кавычки в input()

Придумала, как обойти

 >>> new_name = input('Укажите ваше значение: ')
Укажите ваше значение: folder_name	
>>> folder_name = 'x'
>>> if new_name == 'folder_name':
	new_name = folder_name	
>>> new_name
'x'
Но, вероятно, есть более изящное решение?



================================ RESTART ================================

Офлайн

#3 Июнь 18, 2019 11:30:23

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Кавычки в input()

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



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Июнь 18, 2019 12:33:31

AliceCherry
Зарегистрирован: 2019-06-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Кавычки в input()

JOHN_16
Видно что вы только познакомились с программированием и питоном в частности, поэтому сразу же сделали одну из самых распространенных ошибок.
Да, оно так и есть.
Всё, что вы написали, это конечно хорошо, это приходит со временем и опытом… Но не подскажете нормальное решение, раз уж взялись осуждать это?



================================ RESTART ================================

Отредактировано AliceCherry (Июнь 18, 2019 12:34:43)

Офлайн

#5 Июнь 18, 2019 14:19:21

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Кавычки в input()

Да. Дайте постановку задачи. Техническим языком



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Отредактировано JOHN_16 (Июнь 18, 2019 14:23:27)

Офлайн

#6 Июнь 18, 2019 14:40:14

AliceCherry
Зарегистрирован: 2019-06-16
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Кавычки в input()

JOHN_16
Техническим языком
Необходимо, чтобы через input копировалось значение переменной, а не строка.
Если подумать, скорее всего это делается не через input. Но тогда через что?



================================ RESTART ================================

Офлайн

#7 Июнь 18, 2019 14:54:01

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Кавычки в input()

вот именно, функция input сохраняет в переменную строку из стандартного входящего потока.
Хотеть от нее большего можно, но не нужно. Не делает она ничего другого.

AliceCherry
копировалось значение переменной, а не строка.
я в упор не понимаю что вы хотите сделать. Что куда копировать - ваши примеры в начале мне ни о чем не сказали. Опишите пошагово просто языком алгоритм который вы хотите сделать.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Июнь 19, 2019 09:54:26

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Кавычки в input()

AliceCherry
Придумала, как обойти
Ветвление можно реализовать в виде словаря, например:
 raw_input = input('Укажите ваше значение: ')
d_options = {'folder_name': 'x', } 
new_name = d_options[raw_input]

Так же в значении словаря можно указать ссылку на переменную или функцию, которая будет выполняться:
 raw_input = input('Укажите ваше значение: ')
folder_name = 'x'
d_options = {'folder_name': folder_name, } 
new_name = d_options[raw_input]

Предполагаю, что вы хотите выполнить множественное ветвление ( if - elif - elif … -else) и в таком случае словари будут удобнее. На мой взгляд.

Отредактировано SergeyChmutov (Июнь 19, 2019 09:54:52)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version