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 - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor