Почему это не работает без печати в терминале Python, а работает в отладке? ⇐ Python

Программы на Python
Anonymous
Почему это не работает без печати в терминале Python, а работает в отладке?

Сообщение Anonymous »

Я создаю текстовую приключенческую игру на Python, используя VS Code с GitHub. Скрипт меню выглядит следующим образом (на данный момент):

Код: Выделить всё

def menuController(menuName:str, options:list):

print(options)
time.sleep(0.01)

menuPosition = 0
for i in range(len(options)):
if menuPosition == i:
options[i] = "*"+options[i]+"*   "
else:
options[i] = " "+options[i]+"    "
print(options[i], end="")

menuController("ra", ["one", "two", "three", "four"])
Когда я запускаю его, он выводит следующее:

Код: Выделить всё

['one', 'two', 'three', 'four']
В конце отсутствовала строка.
Однако, когда я добавляю print("") после вызова MenuController, он выводит это:

Код: Выделить всё

['one', 'two', 'three', 'four']
*one*    two     three     four
Эта последняя строка — это та, которую я хочу видеть в окончательной версии.
Почему вторая строка выводится только тогда, когда она пуста? после?
Можно ли это исправить с помощью какого-то сброса вывода в определении функции?

Подробнее здесь: https://stackoverflow.com/questions/790 ... g-in-debug

Вернуться в «Python»