Форум сайта python.su
Есть работающая конструкция
i = 'γ = x+y = '+str(x+y)
# Питон 3 # -*- coding: utf-8 -*- data = [] print('-'*30,''' Ход програмы''') x = 30 y = 50 # Выражение 1 i = 'γ = x+y = '+str(x+y) print(i) data.append(i) # Лишний для отчёта текст print('Лишний для отчёта текст') # Выражение 2 i = 'ξ = x-y = '+str(x-y) print(i) data.append(i) # Блок отчётов print('-'*30,''' Текст отчёта списка data''') for i in data: print(i)
# Выражение 3 # i = ''.join['ξ = x/y = ',x/y] # i = ' '.join(str(i)) # for i in i: # i.append(map(str(i))) # i = [str(i) for i in i] # def add(x,y): return x + y # i = [x for lst in i for x in lst]
Офлайн
суть непонятна вопроса совсем
x = 30 y = 50 i = 'γ = x+y = ' + str(x + y) print(type(i)) print(i)
<class 'str'> γ = x+y = 80
Отредактировано ZerG (Янв. 12, 2017 10:42:14)
Офлайн
ZerGУ меня i - это изначально список, состоящий из текста и вычисляемых переменных:
суть непонятна вопроса совсем
i = [текст, переменная, текст, текст, переменная ...]
[текст, переменная, текст, текст, переменная ...] = [текст+переменная+текст+текст+переменная+ ...] = текст
ZerGне понял. зачем вы выделили гамму.
i у вас и так строка?
Отредактировано Kyrym (Янв. 12, 2017 12:06:34)
Офлайн
Kyrym
но для этого каждую переменную придётся оборачивать в str(), а это трудоёмко.
map(str, lst)
Офлайн
Kyrym
ТОварищь!
i - у тебя СТРОКА а не список!!!!
Если тебе нужно что бы i была списком тогда это было бы как то так
# -*- coding: utf-8 -*- x = 30 y = 50 i = ['γ = x+y = ', x + y] print(type(i)) print(i) print(i[0]) print(i[1])
<class 'list'> ['γ = x+y = ', 80] γ = x+y = 80
Отредактировано ZerG (Янв. 12, 2017 11:23:59)
Офлайн
ZerGЗдесь “i = ‘γ = x+y = ’+str(x+y)” i - это безусловно строка, но строка только из-за инструкции str(). без неё конструкция меняется на
i - у тебя СТРОКА а не список!!!!
"i=[...]"
Офлайн
Здесь “i = ‘γ = x+y = ’+str(x+y)” i - это безусловно строка, но строка только из-за инструкции str()
x = 30 y = 50 i = 'γ = x+y = ' + str(x + y) # Строка i = 'γ = x+y = ' + (x + y) # Тоже строка но Конкатекация не сработает потому что # i = STR + INT (по этому и применяется метод str() к числу) i = 'γ = x+y = ' , (x + y) # Вот это уже был бы список
i = 'γ = x+y = {}'.format(x+y)
i = 'γ = x+y = %s' % (x + y)
Отредактировано ZerG (Янв. 12, 2017 12:19:09)
Офлайн
Шаман и Зерг натолкнули меня на мысли, где я ошибся. Хотя чувствую, что не смог объяснить Зергу, чего я хочу.
1) Я писал выражения для списка, но не написал сам список (он должен быть в выражении 3), поэтому i ссылалась на строку из выражения 2.
2) Я не правильно писал str для всего списка.Должно было быть:
i = ''.join(map(str, i))
Офлайн