Skip to main content

A simple coin flip random number generator

Project description

mitchallen.coin

A simple, lightweight Python package that provides a random number generator perfect for simulations, games, and probabilistic applications.

Installation

pip install mitchallen-coin

Quick Start

from mitchallen.coin import flip

# Get a random number between 0.0 and 1.0
result = flip()
print(result)  # e.g., 0.7234567890123456

Usage Examples

Simulate a Coin Flip

from mitchallen.coin import flip

if flip() < 0.5:
    print("Heads")
else:
    print("Tails")

Random Probability Events

from mitchallen.coin import flip

# 30% chance of rain
if flip() < 0.3:
    print("Bring an umbrella!")
else:
    print("No rain expected")

Monte Carlo Simulation

from mitchallen.coin import flip

# Estimate pi using Monte Carlo method
inside_circle = 0
total_points = 100000

for _ in range(total_points):
    x = flip()
    y = flip()
    if x*x + y*y <= 1:
        inside_circle += 1

pi_estimate = 4 * inside_circle / total_points
print(f"Pi estimate: {pi_estimate}")

Random Selection with Weighted Probabilities

from mitchallen.coin import flip

def choose_outcome(probabilities):
    """Choose an outcome based on probability distribution."""
    value = flip()
    cumulative = 0
    for outcome, prob in probabilities.items():
        cumulative += prob
        if value < cumulative:
            return outcome
    return list(probabilities.keys())[-1]

# Game loot drop system
loot = {
    "common": 0.5,
    "rare": 0.3,
    "epic": 0.15,
    "legendary": 0.05
}

result = choose_outcome(loot)
print(f"You got: {result}")

API Reference

flip()

Returns a random floating-point number in the range [0.0, 1.0).

Returns:

  • float: A random decimal number from 0.0 (inclusive) to 1.0 (exclusive)

Example:

from mitchallen.coin import flip

value = flip()
assert 0.0 <= value < 1.0

Why mitchallen.coin?

  • Simple: One function, does one thing well
  • Lightweight: No dependencies
  • Tested: Comprehensive test suite ensuring quality and reliability
  • Namespace package: Works alongside other mitchallen packages

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup and guidelines.

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mitchallen_coin-0.1.2.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mitchallen_coin-0.1.2-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file mitchallen_coin-0.1.2.tar.gz.

File metadata

  • Download URL: mitchallen_coin-0.1.2.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mitchallen_coin-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5e98d5ded0846bd6275d69c22fccf1c153b96379df8c8e76d1e355ba303d1ce2
MD5 28adde8e6d548a5480056c9bc625caef
BLAKE2b-256 f85fec20b52f03c132889cd2f4c5636dd51f193ec3ded6cc7c77dde8eb04ab09

See more details on using hashes here.

Provenance

The following attestation bundles were made for mitchallen_coin-0.1.2.tar.gz:

Publisher: publish.yml on mitchallen/python-coin-flip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mitchallen_coin-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mitchallen_coin-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7d172f2fa4c22fc92c2bd01f046ad2dffef0cafca68c4463f36f594b43aee308
MD5 115cbb55aaaec1e696087f18fd0be256
BLAKE2b-256 2185b773b9a541126f6b3a82516dd76ae6ad22e13109149d886d332e653ec0fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mitchallen_coin-0.1.2-py3-none-any.whl:

Publisher: publish.yml on mitchallen/python-coin-flip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page