Go4Expert (http://www.go4expert.com/)
-   Python (http://www.go4expert.com/forums/python/)
-   -   values from function help needed (http://www.go4expert.com/forums/values-function-help-t30038/)

values from function help needed

Hi I need help understanding the code below. This code is used to compare some numbers
Example: 02,10,26,33,48,,,,,, 15 is a WIN number and 02,11,24,34,50, ,,,,,15is a DRAWN number.
output is

02,11,24,34,50, ,,,,,15 (1,1) these ones are due to the matching numbers 02 and 15
I f there were no matches it would be (0,0)
I can run the program and read that there was a win or loss but I don't know how to evaluate with code a win or loss.

Example2:Up to 5 numbers can be purchased like below
WIN# 02, 10, 26, 33, 48,,,,,, 15

07, 13, 26, 31, 46,,,,,, 17 (0,0)
02, 11, 24, 34, 50, ,,,,,15 (1,1)
04, 18, 25, 38, 49,,,,,, 27 (0,0)
02, 10, 26, 37, 49,,,,,, 10 (3,0)
08, 14, 27, 33, 38,,,,,, 26 (1,0)
this is the output for 5 numbers
I can read this and see what numbers have won/lost
the (3,0)and the (1,1) would win
I want to generate a message that the ticket won and I don't know how to manipulate the (0,0)part.

If you need the complete program let me know.

Code:

```def score(a, b):         return (len(set(a[:5]) & set(b[:5])), 1 if (a[-1] == b[-1]) else 0)      print()         for a in s:                      print(a, score(a, target))         label1 = Label(aApp, text=(a, score(a, target)), fg='blue')         label1.pack(side=BOTTOM, expand=NO, padx=3, pady=1, ipadx=1, ipady=1)```

Re: values from function help needed

error in 07, 13, 26, 31, 46,,,,,, 17 (1,0) sorry

Re: values from function help needed

Here is the program It will run if you create a text file the one used here is output.txt

Code:

```from tkinter import* import sys, random, tkinter ticket_price = 2 i = 0 g = '' total = 0 comp_a = ' ' comp_b = ' ' score = 0 drawing2 = '' drawing = '' target = '' s = '' sx = '' a = '' b = '' test_score = '' def calculatetotals():        valid = set('12345')     ticket_entry = tik.get()     if ticket_entry not in valid:         print('We permit values in {}.'.format(valid))         label4 = Label(aApp, text='We permit values in 1, 2, 3, 4 or 5!',                       fg='blue').grid(row=7, column=1)     else:         label4 = Label(aApp, text='                                                                          ', fg='blue').grid(row=7, column=1)         mytik = int(ticket_entry)         total = mytik*ticket_price         Label(aApp, text="You purchased:\$%.2f \n" % total).grid(row=7, column=1)         Label(aApp, text="\nNumber Of Tckets: %.f\n" % mytik).grid(row=6, column=1)         Button(aApp, text="Click Here To Draw Your Tickets!",  fg='blue',  bg='white',  command=nextx).grid(row=8, column=1)         aApp = Tk()                          aApp.geometry('600x400+75+75') aApp.title("LOTTO") tik = StringVar() label1 = Label(aApp, text="Welcome To Lotto.", fg='blue') label1.grid(row=0, column=2) label2 = Label(aApp, text="Tickets Are \$ {:.2f}Each.".format(ticket_price), fg='red') label2.grid(row=1, column=1) label3 = Label(aApp, text="How Many Would You Like?", fg='black') label3.grid(row=2, column=1) mytik = Entry(aApp, textvariable=tik) mytik.grid(row=2, column=2) button1 = Button(aApp, text="Your Purchse\nClick Here", fg='blue', command=calculatetotals)                button1.grid(row=6, column=1) def nextx():     Button(aApp, text="Click Here to see the new winning number.", fg='lightgreen',           bg='black', command=nextz).grid(row=8, column=1)     ticket_entry = tik.get()     i = 0     while i < int(ticket_entry):                    L = list(range(1, 60))         random.shuffle(L)                g = L[:5]         g.sort()         f = L[5:6]                                  drawing = ' '.join([' '.join(zstr(G) for G in g), '-', zstr(f[0])])         label5 = tkinter.Label(aApp, text=drawing)         label5.pack(fill=X)                 comp_b = open("C:\output.txt", "a")         s = comp_b.write(drawing)         s = comp_b.write('\n')         s = [line.split() for line in sx.strip().splitlines()]                          i += 1                 def nextz():     Button(aApp, text='Push again to <Quit> :To see if you match Push <Compare> In The New Winning Number Window'           , fg='yellow', bg='black', command=quit).grid(row=8, column=1)     L = list(range(1, 60))     random.shuffle(L)     g = L[:5]     g.sort()     f = L[5:6]     global drawing2     global target     drawing2 = ' '.join([' '.join(zstr(G) for G in g), '-', zstr(f[0])])     target = drawing2       aBpp = Tk()     aBpp.geometry('240x75+230+260')     aBpp.title(string="Winning Number")     label6 = tkinter.Label(aBpp, text=drawing2).pack(padx=1, pady=2)     Button(aBpp, text="quit", command=aBpp.quit).pack()     Button(aBpp, text="Compare", command=compare).pack()     def zstr(ob, width=2):     return '{x:0>{width}s}'.format(x=str(ob), width=width) def compare():     s = ''     comp_a = open("C:\output.txt", "r")     s = comp_a.read()     s = [line.split() for line in s.strip().splitlines()]      target = drawing2.split()     print('Purchased Numbers are', s)     print('Win Number is ', target)       def score(a, b):         return (len(set(a[:5]) & set(b[:5])), 1 if (a[-1] == b[-1]) else 0)       print()         for a in s:               print(a, ('score', score(a, target)))         if (a,b):                 print('score is 1')                      else:                 print ('score = 0')                         label1 = Label(aApp, text=(a, score(a, target)), fg='blue')         label1.pack(side=BOTTOM, expand=NO, padx=3, pady=1, ipadx=1, ipady=1)                 comp_a.close() killfile = open("C:\output.txt", "w") killfile.close() tkinter.mainloop() aBpp.mainloop() aApp.mainloop()```