Я так близок к пониманию этого. В моем коде возникает ошибка при попытке разделить (',') пробелами. Весь мой другой код работает, но я не могу получить ответ, если сначала использую пробел.
string = input('Enter input string: \n')
while ',' not in string:
print('Error: No comma in string.')
string = input('Enter input string: \n')
while string != 'q':
if (', ') in string:
names = string.split(', ')
print('First word:', names[0])
print('Second word:', names[1])
elif (',') in string:
names = string.split(',')
print('First word:', names[0])
print('Second word:', names[1])
else:
names = string.split(' , ')
print('First word:', names[0])
print('Second word:', names[1])
string = input('\n\nEnter input string: \n')
Наряду с тем, что сказал @ smac89, посмотрите, как выглядит строка. Разделены ли элементы , или `,` или просто , (обратите внимание на пробелы), а затем используйте разделение соответственно.
Также ваш первый цикл while будет работать бесконечно, если исходная строка не содержит ,.
@ smac89 я думаю, что часть string=input(), вероятно, принадлежала его первому циклу while
@RahulBharadwaj, я пытаюсь разделить Джилл, Аллена Голдена, Обезьяну Вашингтон, округ Колумбия. Я успешно выполнил первый и третий, но пробел между Golden (пробел), (пробел) обезьяна сбивает меня с толку






Сначала вам нужно соответствовать самым строгим требованиям. В данном случае это запятая с пробелами по обеим сторонам. Так что переупорядочивайте свои if следующим образом:
if " , " in string:
...
elif ", " in string:
...
else: # "," in string
...
Или, что еще лучше, скорректируйте остальную часть кода, чтобы вам не приходилось рассматривать эти три случая по-разному. Например, вы можете разделить только запятую, а затем strip результирующие строки, чтобы любые пробелы не вызывали проблем:
names = [name.strip() for name in string.split(',')]
Исправьте отступ. Не уверен, где находится второй
while