Python Forum
Need help with defining messages and player guesses in a lottery
Thread Rating:
  • 1 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need help with defining messages and player guesses in a lottery
#4
This is how i would code it.
Functions receive parameters and return values.
With parameters you are flexible changing the ranges of your lottery.
import random

def draw_numbers(size, start, stop):
    numbers = set()
    while len(numbers) < size:
        numbers.add(random.randint(start, stop))
    return sorted(list(numbers))

def guess_numbers(size, start, stop):
    while True:
        guess = input(f"Enter {size} numbers from {start} to {stop} split by spaces:\n")
        guesses = guess.split()
        if len(guesses) == size:
            if all(num.isdigit() for num in guesses):
                guesses = [int(num) for num in guesses]
                if all(start <= num <= stop for num in guesses):
                    return sorted(guesses)
                else:
                    print("One or more numbers out of range!")
            else:
                print("Please enter numbers and nothing else!")
        else:
            print("Wrong amount of numbers!")

def evaluate(lottery_draw, guesses):
    hits = [guess for guess in guesses if guess in lottery_draw]
    message = f"Today's lottery draws are: {lottery_draw}\n"
    message = f"{message}Your guesses are: {guesses}\n"
    correct = len(hits)
    message = f"{message}You got {'no' if correct == 0 else correct} {'guess' if correct == 1 else 'guesses'} right.\n"
    return message


def main():
    lottery_draw = draw_numbers(5, 1, 20)
    guesses = guess_numbers(5, 1, 20)
    print(evaluate(lottery_draw, guesses))    


if __name__ == "__main__":
    main()
In Germany our lottery has these parameters
print(evaluate(draw_numbers(6, 1, 49), guess_numbers(6, 1, 49)))
Output:
Enter 6 numbers from 1 to 49 split by spaces: 1 2 3 4 5 49 Today's lottery draws are: [4, 7, 15, 25, 36, 49] Your guesses are: [1, 2, 3, 4, 5, 49] You got 2 guesses right.
Reply


Messages In This Thread
RE: Need help with defining messages and player guesses in a lottery - by ThomasL - Nov-23-2019, 10:14 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Lottery generator (beginner) Hullari 3 7,138 Jul-03-2019, 04:46 PM
Last Post: perfringo
  logging messages ahead of print messages vindo 6 3,235 Jun-18-2019, 02:45 PM
Last Post: vindo
  [split] Lottery System on my mobile website sibt007 1 2,462 Sep-27-2018, 12:56 AM
Last Post: micseydel
  Lottery System on my mobile website nooxm123 1 2,632 Feb-06-2018, 10:55 AM
Last Post: j.crater

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020