Computer science PYTHON question. Can you please help me modify these 2 programs. One of them (randomizer.py) generates

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

Computer science PYTHON question. Can you please help me modify these 2 programs. One of them (randomizer.py) generates

Post by answerhappygod »

Computer science PYTHON question.
Can you please help me modify these 2 programs. One of them
(randomizer.py) generates a random number and
the other one (roulette.py) uses the
generated random number from the previous program to make a
selection for the user.
The goal is to have the random number generated to be
between from 0-38 (0-36 for the numbers in roulette, 37 for red,
and 38 for black).
This is what I have so far:
Randomizer.py
import time
import math
class PseudoRandom:
def __init__(self):
self.seed = -1
self.prev = 0
self.a = 25214903917
self.c = 11
self.m = 2**31
def get_seed(self):
seed = time.monotonic()
self.seed = int(str(seed)[-3:]) # taking the 3 decimal places at
the end of what is returned by time.monotonic()
def generate_random(self, prev_random, range):
"""
Returns a pseudorandom number between 1 and range.
"""
# if first value, then get the seed to determine starting
point
if self.seed == -1:
self.get_seed()
self.prev = raw_num = (self.a * self.seed + self.c) % self.m
# use previous value to determine next number
else:
self.prev = raw_num = (self.a * prev_random + self.c) %
self.m
return math.ceil((raw_num / self.m) * range)
if __name__ == "__main__":
test = PseudoRandom()
for i in range(10):
rand = test.generate_random(test.prev, 10)
print(rand)
Roulette.py
import randomizer
test = randomizer.PseudoRandom()
# color choose and roulette simulation
def simulate():
print("Choose a number between 0-36, Red, or Black:")
answer = input("> ")
result = random.generate_random
if result == 0 and answer == "0":
print("You bet on the number 0. Congrats you won!")
elif result == 1 and answer == "1":
print("You bet on the number 1. Congrats you won!")
#continue with the other results in roulette 2-36
elif result == 37 and answer == "Red":
print("You bet on Red. Congrats you won!")
elif result == 38 and answer == "Black":
print("You bet on Black. Congrats you won!")
else:
print("You lost!")
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply