First Post: Personality Based Simulator
The initial python program, written with Pydroid3, outputted a string (either Jimmy was insulting or Jimmy wasn't insulting) and an associated probability of the string's occurrence.
The final version includes an environmental modifier, Jimmy's stress level.
#The Code
import random
from itertools import chain
action_score1= random.randint(1,5)
action1="insulting others"
agent_name= "Jimmy"
stress= random.randint(-10,10)/10
stress_modifier= stress*0.2
def action_probability(score):
match(score):
case(1):
return 0.1
case(2):
return 0.2
case(3):
return 0.5
case(4):
return 0.6
case(5):
return 0.8
def action_probability_mod(score):
match(score):
case(1):
return 0.1+(stress*0.1)
case(2):
return 0.2+stress_modifier
case(3):
return 0.5+stress_modifier
case(4):
return 0.6+stress_modifier
case(5):
return 0.8+stress_modifier
def choose(probability):
instances=probability*100
instances_not=100-instances
yes_occur=int(instances)
no_occur= int(instances_not)
my_list=[("yes,"*yes_occur). split (","), ("no," *no_occur).split(",")]
flat_list = list(chain(*my_list))
c= random.choice(flat_list)
return c
def text_gen(c):
match(c):
case('yes'):
print(agent_name+ " is "+action1)
print ("The probability of this was: "+ str(action_probability_mod(action_score1)))
print ("The base probability of this was: "+ str(action_probability(action_score1)))
case('no'):
print(agent_name+ " is not "+action1)
print ("The probability of this was: "+ str(1-action_probability_mod(action_score1)))
print ("The base probability of this was: "+ str(1-action_probability(action_score1)))
prob=action_probability_mod(action_score1)
choice= choose(prob)
text_gen(choice)
print("stress modifier: "+ str(stress))
Comments
Post a Comment