Jan-28-2019, 10:13 PM
So I setup this multiplication expression thing. I setup a function to run the expression and a timer for the expression. I'm trying to only allow the person 5 seconds to answer and this is what I've got to, except it won't end the function after 5 seconds. Either it's not running both functions simultaneously, or the end module isn't working because it typed it incorrectly.
import multiprocessing as mp
import random
import time
Number_0_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Number_1_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Number_0 = random.choice(Number_0_list)
Number_1 = random.choice(Number_1_list)
print('You have 3 seconds to answer each question, type "startgame()" when your ready')
time.sleep(3)
def startprogram(times):
check = 0
for x in range(0, times):
Answered = 0
check = check + 1
print('Ready...')
time.sleep(1)
print('Set...')
time.sleep(1)
print('Go!!!')
time.sleep(1)
print(Number_0, '*', Number_1)
timerstart = 1
InputAnswer = input("Answer Here: ")
timerstart = 0
Answer = Number_0 * Number_1
IntAnswer = (int(float(Answer)))
IntInputAnswer = (int(float(InputAnswer)))
if IntInputAnswer == IntAnswer:
Answered = 1
print('Nice Job!')
time.sleep(1)
else:
print('OOF! Better luck next time')
print(type(IntInputAnswer), type(IntAnswer))
time.sleep(1)
print('The real answer is %s' % IntAnswer)
def timer():
while True:
if timerstart == 1:
time.sleep(5)
if Answered == 0:
startprogram.end()
startprogram(check).start()
def startgame():
if __name__=='__main__':
p1 = mp.Process(target = startprogram(10))
p1.start()
p2 = mp.Process(target = timer())
p2.start()
p1.join()
p2.join()
