Как сохранить многострочный ввод от пользователя и распечатать его отдельными строками? - PullRequest
0 голосов
/ 05 августа 2020

Я нуб из python, пожалуйста, помогите: я пытаюсь создать программу для удаления пробелов из заданной строки. Сначала вы можете указать количество предложений. Код:

n=int(input("TestCases:"))#No of test cases

for i in range(0, n):
# read a string
    str = raw_input("Enter a string\n")
nospace = str.replace(" ", "")
print(nospace)

Результат:

TestCases:2
Enter a string
who am i
Enter a string
who are you
whoareyou

Отображается только второй тестовый пример. Я изменил код на:

n=int(input("TestCases:"))#No of test cases
for i in range(0, n):
# read a string
    str = raw_input("Enter a string\n")
    nospace = str.replace(" ", "")
    print(nospace)

Но теперь вывод:

TestCases:2
Enter a string
who am i?
whoami?
Enter a string
who are you?
whoareyou?

Он распечатывает строку с символами, удаленными сразу после ее ввода. Мой желаемый результат:

TestCases:2
Enter string(s)
who am i?
who are you?
whoami?
whoareyou?

Я думал о сохранении ввода в виде списка и отображении вывода по каждому индексу, но, похоже, не могу его реализовать.

Ответы [ 3 ]

0 голосов
/ 05 августа 2020

Вы были абсолютно правы, полагая, что список - это путь к go.

n=int(input("TestCases:"))#No of test cases
output = []

for i in range(0, n):
# read a string
    str = raw_input("Enter a string\n")
    nospace = str.replace(" ", "")
    output.append(nospace)

for i in output:
    print(i)    
0 голосов
/ 05 августа 2020

Вот как заменить часть строки какой-либо другой строкой

string_part=" "
replace_with=''
str.replace(string_part,replace_with)

так в вашем условии

n=int(input("TestCases:"))#No of test cases
print("Enter s string\n")
for i in range(0, n):
    str = input("")
    nospace = str.replace(" ", "")
    print(nospace)

OUTPUT

TestCases:3
Enter s string
hi
hi
hello world
helloworld
hello hello world
hellohelloworld
0 голосов
/ 05 августа 2020

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

n=int(input("TestCases:"))#No of test cases
string_list = []
for i in range(0, n):
# read a string
    string_list.append(raw_input("Enter a string\n"))
for str in string_list:
    nospace = str.replace(" ", "")
    print(nospace)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...