Примерно так будет разбирать строку на строки, разделенные пробелами, используя кусочки ... (Я заметил, что первый ответ пришел, когда я работал над этим, но это немного отличается, так что ...)
def extractor(mystr):
start = 0
for a in range(len(mystr)):
if mystr[a] == ' ' or mystr[a] == len(mystr) - 1:
temp = mystr[start:a]
print(temp)
start = a + 1
Это больше похоже на подход на языке Си, очень непифонический, но стандартный тариф программирования.Если у вас будет только 5 пользовательских записей, это возможно.Если вы не можете использовать список этих переменных, или если у вас есть неизвестное количество записей пользователя, или если вам нужно проверить, чтобы убедиться, что пользователь фактически ввел цифру, а не букву, то требуется дополнительная работа, ноэто основной синтаксический анализатор C-строки.Полезно знать, если вы когда-нибудь захотите погрузиться во внутренности Python, я полагаю.
Если вам нужно преобразовать каждую извлеченную строку в int, и исключения допускаются, поместите это в оператор if, чтобы проверить правильность типа:
try:
myvar1 = int(temp)
except ValueError:
print("Not an int")
Обратите внимание, что если вы абсолютно не можете использовать списки (* или exec, как в приведенном выше ответе), то единственно вероятный вариант - продолжать вырезать конец строки, то есть вам придетсясделайте что-то вроде следующего в конце каждого оператора if, затем напишите, что цикл for повторяется еще 4 раза, изменяя имя переменной каждый раз вручную.
mystr = mystr[start:len(mystr)]
break
Это, конечно, не будет работать, если у вас естьпеременное количество записей пользователя.И это невероятно утомительно ... Я подозреваю, что инструктор мог задумать что-то другое.Обратите внимание, что реальный процесс для всего, что просто:
result = [int(x) for x in mystr.split(' ') if x.isdigit()]