Я нашел простую обходную процедуру (проверенную на Chrome) для setSelectionRange()
. Вы можете просто изменить type
на text
, прежде чем использовать setSelectionRange()
, а затем изменить его на number
.
Вот простой пример с jquery, который позиционирует каретку в позиции 4 в количестве ввода каждый раз, когда вы нажимаете на вход (добавьте более 5 цифр на вход, чтобы увидеть поведение)
Проблема здесь также может быть решена, если не сделать x
глобальной переменной и просто переменной, которую вы можете передать по значению:
def timer(x):
for n in range(x, 0, -1):
time.sleep(1)
print(n)
print("Times Up"+"\n")
def loop():
x = int(input("Time for:"))
timer(x)
#... loop() ... as many times as you want
Нет необходимости в глобализации, гораздо больше pythonic - и в факт это то, что вы делали в C, а потому, что области переменных могут стать беспорядочными.
Кроме того, вы можете перебирать назад через последовательность диапазонов, как показано выше (это предполагает, что x
является неотрицательным целое число). [/ д2]
За исключением размещения timer
выше loop
, как вы правильно указали, вы можете сохранить timer
в своем собственном модуле, а затем импортировать его поверх файла цикла.
Действительно, импортированные модули сначала выполняются при импорте.
range(0,x)
будет отсчитывать от 0 доx-1
с шагом 1 иrange(x,0,-1)
отсчитывает отx
до 1 с шагом -1. Для обратного отсчета последний имеет больше смысла. – FlyingTeller 13 July 2018 в 07:52