Beginner's Help

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SakamotoKazuma
    New Member
    • Jul 2007
    • 1

    #1

    Beginner's Help

    I am new to programming in python after programming in Java, C and C# for a number of years. Somehow I'm missing something or am doing something wrong, but this Pythagorean theorem program is giving me wrong answers.

    Code:
    print "Pythagorean Solver"
    print "Enter -1 for unknown values."
    
    A = input("A? ")
    B = input("B? ")
    C = input("C? ")
    
    if A == -1:
    	if B == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if C == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (C**2-B**2)**(1/2)
    		print "A = ",D
    		 
    if B == -1:
    	if A == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if C == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (C**2-A**2)**(1/2)
    		print "B = ", D
    		
    if C == -1:
    	if A == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if B == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (A**2 + B**2)**(1/2)
    		print "C = ", D
    
    else:
    	print "Nothing to solve."
  • bvdet
    Recognized Expert Specialist
    • Oct 2006
    • 2851

    #2
    Originally posted by SakamotoKazuma
    I am new to programming in python after programming in Java, C and C# for a number of years. Somehow I'm missing something or am doing something wrong, but this Pythagorean theorem program is giving me wrong answers.

    Code:
    print "Pythagorean Solver"
    print "Enter -1 for unknown values."
    
    A = input("A? ")
    B = input("B? ")
    C = input("C? ")
    
    if A == -1:
    	if B == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if C == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (C**2-B**2)**(1/2)
    		print "A = ",D
    		 
    if B == -1:
    	if A == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if C == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (C**2-A**2)**(1/2)
    		print "B = ", D
    		
    if C == -1:
    	if A == -1:
    		print "Too many unknowns."
    		sys.exit()
    	if B == -1:
    		print "Too many unknowns."
    		sys.exit()
    	else:
    		D = (A**2 + B**2)**(1/2)
    		print "C = ", D
    
    else:
    	print "Nothing to solve."
    Instead of '1/2' for the power, use '0.5' or '1/2.0'. You were performing integer division. Look at this example:[code=Python]>>> 100**(1/2)
    1
    >>> 1/2
    0
    >>> 100**0
    1
    >>> 100**0.5
    10.0
    >>> [/code]

    Comment

    Working...