On 01/-10/-28163 02:59 PM, walter weston wrote:

I generate a random number(supposedly a password, in my case its just a long 
floating point lol),I want the user to reinput that number and I want to print 
a string if the number entered is correct. so if m==num(num is the number 
generated and m is the variable which stores the input ) then I want to print 
'you entered correctly, proceed'.

here is my code..

import random
for x in range(0,1):
     num = random.random()
     print (num)
     m=input('input pass:')
     if m==num:
         print('you entered correctly, proceed')

It's very noobish dont give me complex replys, and dont be to rude or laugh at 
me, as I am a beginner In the programming domain.
                                        

You left out a few details, like what version of Python you're using. However, i suspect you're using version 3.x, and will respond accordingly.

input() returns a string, while random.random() returns a float. So they'll never be equal.

Because floats are stored in binary floating point, you run a risk in comparing them in any case. So rather than converting the user's input to float, I'd suggest converting the random value to a string. And if you do it before printing it, your user should be able to get an exact match every time.

Just change the num assignment to:

    num = str(random.random())

DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to