Python Forum

Full Version: Simulate an answer based on user input [Beginner needs guidance]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm a complete beginner looking for advice/guidance. Basically I want to build a program that simulates a suggestion based on existing probabilities and user input.
Let me give you an example: Let's say there are 2 football games. There's 3 different outcomes per game with different probabilities
Game 1) Team A - Team B probabilities are Team A wins: 0.3 | Draw: 0.5 | Team B wins: 0.2
Game 2) Team C - Team D probabilities are Team C wins: 0.5 | Draw: 0.4 | Team D wins: 0.1
I want the program to ask the user for the highest acceptable probability for the combination of outcome.
Lets say the user answers: 0.03.
Then there's only 2 viable options for the program to return. Either 1) Team A wins & Team D wins or 2) Team B wins & Team D wins
Both having a probability of lower than or equal to >= 0.03.

Since I 'm lacking knowledge to ask the right questions I'm hoping that anyone here would be able to guide me a bit. Perhaps tell me to read about x and y etc.

I do have one question for starter: Should the teams and the probabilities be contained in a dictionary?
How did you determine that given the user enters 0.3 that the only viable options are 1) Team A wins & Team D wins or 2) Team B wins & Team D wins?

That is the first step. Defining the steps needed to come up with a solution. Write them down on paper and apply them to different inputs. If the steps always give the correct answer, they define the algorithm. This algorithm is the central part of your program.

The algorithm should help you decide how you decide what data structures will work best for your solution. When solving using pencil and paper, how did you organize the data? Did you make a table like this?
Output:
Game, win, draw, lose A-B, 0.3, 0.5, 0.2 C-D, 0.5, 0.4, 0.1
This could be implemented many ways in Python. It could be a pandas dataframe. It could be a row of dictionaries. It could be a row of rows.