"Jacob Bender" <benderjaco...@gmail.com> wrote

decided to make a program that deals with them. Here's the code:

thing = raw_input("What is the first number?\n\n")
thing2 = raw_input("What is the second number?\n\n")

int(thing)
int(thing2)

This does nothing useful. It converts the strings to numbers
which are immediately thrown away because they are not
assigned to anything.

x = 1

thing3 = x/thing
thing4 = thing2/x

This will likely fail because things are still strings.
But even if they were numbers itwould be clearer
in this case to not use x, just put the 1 directly in
the calculation.

def calc():
    while True:

        if isinstance(thing3, int) == True:
            if isinstance(thing4, int)== True:
                print "The LCM is"
                print x

So any time thing3 and 4 are integers x will be 1

                raw_input()
                break

            else:
                x + 1

Again this does nothing useful because it adds one to x
then throws away the value

                calc()

This will cause an infinite loop (until Python runs
out of recursion space). I'm not even sure what
you think this will achieve?

        else:
            x + 1
            calc()

See above...

The only problem is that when I tell it that thing3 = x/thing it gives an error. Here it is:

Traceback (most recent call last):
File "C:/Documents and Settings/Family/My Documents/LCM.py", line 10, in <module>
    thing3 = x/thing
TypeError: unsupported operand type(s) for /: 'int' and 'str'

See above comments.

You need to retyhink your algorithm and pay attention to assigning
results to variables.

And once you have done that you may want to make x a parameter
of calc(), or at least declare it a global variable.

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


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

Reply via email to