Для Windows вы можете использовать msvcrt
следующим образом:
import msvcrt
while True:
if msvcrt.kbhit():
key = msvcrt.getch()
print(key) # just to show the result
Предыдущий ответ неверен, и в стандарте очень ясно, как обрабатывается конструктор массива. См. В Fortran 2008 C4103.
Все элементы в конструкторе массива формы вопроса должны быть одного и того же типа объявленного типа и такого же типа. Компилятор здесь жалуется, потому что это ограничение было нарушено путем смешивания реального выражения с этими целыми выражениями.
Просто сделать первый элемент элементом реальной / двойной точности недостаточно. Возможно, компилятор использует сообщение об ошибке «конструктор массива integer(4)
« как короткая рука для », первый элемент - integer(4)
, но не все остальные элементы:«.
Чтобы решить эту проблему, форма конструктора массива, вы должны сделать все элементы одного типа / типа (вероятно, реальную / двойную точность).
Как указано (правильно) в этом другом ответе, существует другая форма для конструкторов массива:
[ real ::0,8,0,4,26,8,0,17.5,0,0,0,17.5 ... ]
, который преобразует все элементы в указанный тип. Вы даже можете использовать эту форму для создания массива с нулевым размером:
[ real :: ]