0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
1 | |
Потоки python09.04.2017, 20:40. Показов 1209. Ответов 19
Метки нет (Все метки)
Всем привет! Кто подскажет, как сделать так, чтобы программа задавала вопрос, и если за X секунд пользователь не ответит, то программа не записывала балл и задавала следующий вопрос, а если пользователь ответил и верно, то программа записывала Балли задавала следующий вопрос? Я знаю, что это с помощью модуля threading и time. (+, чтобы через каждые 10 секунд писалось, что осталось на 10 секунд меньше) версия python 3.6.1
0
|
09.04.2017, 20:40 | |
Ответы с готовыми решениями:
19
Потоки в python Потоки Python Python - момент истины. Python - как оружие возмездие против системы Cx_freeze python error in main script как исправить- Python |
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
09.04.2017, 21:27 | 2 |
Не обязательно. Все зависит от используемоего фреемворка. На пример если ты используешь tkinter, то нужно использовать after.
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
09.04.2017, 21:30 [ТС] | 3 |
А как это сделать, не подскажете?
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
09.04.2017, 21:31 | 4 |
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
09.04.2017, 21:43 [ТС] | 5 |
Примерно так
(Писал с телефона, но на компе тоже самое)
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
09.04.2017, 21:53 | 6 |
То есть ты делаешь консольный тест?
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
09.04.2017, 22:04 [ТС] | 7 |
Да. Я пока что просто тренеруюсь.
Добавлено через 9 минут Так что, поможете?
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
10.04.2017, 19:40 [ТС] | 9 |
нужно чтото типо этого, только чтобы оба потока выполнялись в одно и то же время
import _thread from time import sleep def hel(): #описываем функцию, которую собираемся запустить параллельно основному потоку sleep(2) print('Hello,world!') _thread.start_new_thread(hel,()) #запускаем функцию в качестве параллельного потока sleep(5) print('Done') input()
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
11.04.2017, 20:54 [ТС] | 11 |
так то оно так, но почему-то дочерний поток (таймер) не запускается, пока что нибудь не ввести, а потом нельзя вводить ничего.
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
||||||
12.04.2017, 20:04 [ТС] | 13 | |||||
0
|
13.04.2017, 09:24 | 14 |
Хм. Я попробовал - всё запускается. Примерный вывод:
Код
сколько будет 5 + 5? у вас есть 15 секунд осталось 14 секунд осталось 13 секунд осталось 12 секунд qwe неверно осталось 11 секунд осталось 10 секунд qwe осталось 9 секунд осталось 8 секунд осталось 7 секунд qweqwe осталось 6 секунд осталось 5 секунд осталось 4 секунд осталось 3 секунд осталось 2 секунд осталось 1 секунд осталось 0 секунд Время вышло! осталось -1 секунд осталось -2 секунд осталось -3 секунд осталось -4 секунд осталось -5 секунд осталось -6 секунд осталось -7 секунд осталось -8 секунд осталось -9 секунд осталось -10 секунд осталось -11 секунд осталось -12 секунд осталось -13 секунд осталось -14 секунд осталось -15 секунд осталось -16 секунд осталось -17 секунд осталось -18 секунд осталось -19 секунд осталось -20 секунд
0
|
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 46
|
|
13.04.2017, 18:50 [ТС] | 15 |
Странно, у меня по другому работало...
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
13.04.2017, 23:34 | 16 | |||||
На базе этого можешь реализовать, что требуется тебе
1
|
563 / 303 / 189
Регистрация: 20.05.2016
Сообщений: 592
|
||||||
14.04.2017, 12:00 | 17 | |||||
Не уверен (или я не правильно понял ТС).
Попробуйте, например, запустить
(Но код хороший, да)
1
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
14.04.2017, 14:38 | 18 |
shsv, такой вариант не проверял, спасибо. Подумаю, как можно решить проблему.
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
15.04.2017, 19:44 | 19 | |||||
shsv, вот так ещё можно, но будет не кроссплатформенно. Только для linux.
1
|
563 / 303 / 189
Регистрация: 20.05.2016
Сообщений: 592
|
|||||||||||
16.04.2017, 22:10 | 20 | ||||||||||
Да, с виндовсом беда...
Наткнулся на чудный prompt_toolkit, который на первый взгляд обладает всем необходимым для кроссплатформенного осуществления задумки ТС, но либо я делаю что-то не так (предпочтительная причина), либо есть некие изъяны в коде модуля, либо просто windows... ( здесь было нудное нытье о странностях работы - по существу оно не работает - заветного параметра on_input_timeout ) Словом, надо разбираться... Добавлено через 22 часа 47 минут Нытье было напрасным - on_input_timeout работает... однако, если только, одновременно с ним, не задавать параметр refresh_interval, который нам нужен для отрисовки таймера. И который я сразу же запихнул в код, не подумав, что последуют, скажем так, недоразумения. Не дружат они... В силу этого, а также шибко недавнего знакомства с означенным модулем, нижеследующий код (в количестве 2 штук) лишь набросок, который, тем не менее, работает (надеюсь в Linux тоже) Без таймера; параметр on_input_timeout
С таймером; параметр refresh_interval
0
|
16.04.2017, 22:10 | |
16.04.2017, 22:10 | |
Помогаю со студенческими работами здесь
20
Как из Python скрипта выполнить другой python скрипт? Потоки в python Python потоки в сетях Python и Pyqt5: потоки Python socket telnet, потоки и ответ сервера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |