У меня есть этот код, который выводит печать введенных пользователем терминов на консоль

x = input("Input x: ")
y = input("Input y: ")
z = input("Input z: ")

xS = x.split(", ")
yS = y.split(", ")
zS = z.split(", ")

[print('"{}"'.format(i), end=" ") for i in xS] + [print('"{}"'.format(i), end=" ") for i in yS] + [print('-"{}"'.format(i), end=" ") for i in zS]

Где входные данные могут быть как he, haha, ho ho, he he he, и функция печати выводит аналогично, когда x = he, y = haha, ho ho и z = he he he

"he" "haha" "ho ho" -"he he he"

Кто-нибудь знает способ присвоить вывод печати ("he" "haha" "ho ho" -"he he he") такой переменной, как j?

РЕДАКТИРОВАНИЕ РАЗЪЯСНЕНИЯ: двойные кавычки в выводе на печать не говорят, что это строка. Все это в основном заключается в том, что пользователь вводит данные, разделяет их на , в качестве разделителя и добавляет "" в начало и конец каждого отдельного члена, который заканчивается как "term", что в конечном итоге попадает в поисковую систему, которая работает аналогично Google

1
w4tchdoge 7 Июл 2019 в 19:31

4 ответа

Лучший ответ

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

x = "he"
y = "haha, ho ho" 
z = "he he he"

xS = x.split(", ")
yS = y.split(", ")
zS = z.split(", ")

j = ' '.join([f'"{i}"' for i in xS] + [f'"{i}"' for i in yS] + [f'-"{i}"' for i in zS])

print(j)

Это будет отображать:

"he" "haha" "ho ho" -"he he he"
0
Martin Evans 7 Июл 2019 в 17:05

Попробуй это:

x = input("Input x: ")
y = input("Input y: ")
z = input("Input z: ")

xS = x.split(", ")
yS = y.split(", ")
zS = z.split(", ")
j = ('"{}"'.format(' '.join(xS)), '"{}"'.format(' '.join(yS)), '-"{}"'.format(' '.join(zS)))

print (j)

Выход:

Input x: ha, ha
Input y: he, he, he
Input z: huh, hih
('"ha ha"', '"he he he"', '-"huh hih"')
0
okawo 7 Июл 2019 в 17:10

Попробуй это,

>>> x = ['he'];y = 'haha, ho ho'.split(',');z = ['he he he']  
>>> x+y+['-']+z  
['he', 'haha', ' ho ho', '-', 'he he he']
>>> var = " ".join(x+y+['-']+z)

< Сильный > Вывод :

>>> print(var)    
'he haha  ho ho - he he he'

Изменить 1:

>>> " ".join('"{}"'.format(el) if el is not '-' else el for el in x+y+['-']+z)        
'"he" "haha" " ho ho" - "he he he"'
1
shaik moeed 7 Июл 2019 в 17:37

Я рекомендую создать строку самостоятельно, а затем распечатать ее.

xS = "he"
yS = "haha, ho ho"
zS = "he he he"

j = " ".join( [ '"' + x.strip() + '"' for y in [xS,yS,zS] for x in y.split(',') ] )

print( j )

Выход:

'"he" "haha" "ho ho" "he he he"'
0
Stefan 7 Июл 2019 в 17:27