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