how to mix decimal func and int

This is the place for queries that don't fit in any of the other categories.

how to mix decimal func and int

Postby mckryall » Sun Nov 24, 2013 4:47 am

I want to use slope-intercept form and slope becomes problematic. How will I use %d, int(raw_input("> ")), and decimal together?
Code: Select all
import time
from decimal import *
twop = raw_input("Do you have two ordered pairs?")
if twop.lower() in ['n', 'no']:
   print "Don't use this program."
if twop.lower() in ['y', 'yes']:
   print "Ok."
   slope = raw_input("Do you have the slope?")
   if slope.lower() in ['n', 'no']:
      print "Ok."
      print "Input the first ordered pair."
      x1 = int(raw_input("X > "))
      y1 = int(raw_input("Y > "))
      print "Input the second ordered pair."
      x2 = int(raw_input("X > "))
      y2 = int(raw_input("Y > "))
      print """\n%d - %d
-----
%d - %d
      """ % (y1, y2, x1, x2)
      yc = y1 - y2
      xc = x1 - x2
      bval = raw_input("Do you have the b value?")
      time.sleep(1)
      #prints full equation
      if bval.lower() in ['y', 'yes']:
         y = yc
         m = '%d/%d' % (yc, xc)
         x = xc
         b = int(raw_input("b= "))
         if b == 0:
            pos_neg = ''
         elif b > 0:
            pos_neg = '+'
         elif b < 0:
            pos_neg = '-'
         if b == 0:
            b1 = ''
         else:
            b1 = b
         print "%d = %d(%d)%s%s" % (y, m, x, pos_neg, b1)
      #solves for b and displays finished equation
      if bval.lower() in ['n', 'no']:
         print "Ok."
         print "1st ordered pair or second?"
         ord_p = raw_input("> ")
         if ord_p.lower in ['1st', 'first']:
            y = y1
            m = int(raw_input("m= "))
            x = x1
            print "%d = %d(%d)+b" % (y, m, x)
            time.sleep(1)
            if m != 0:   
               if x != 0:
                  mx = m * x
                  print "%d = %d+b" % (y, mx)
                  print "^That is a direct variation.^"
                  if mx != 0:   
                     if mx < 0:
                        pos_neg2 = '+'
                        y_mx = y + mx
                     elif mx > 0:
                        pos_neg2 = '-'
                        y_mx = y - mx
                     print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)
                     time.sleep(1)
                     print "%d = b" % y_mx
                     time.sleep(1)
                     if y_mx == 0:
                        pos_neg3 = '+'
                     elif y_mx > 0:
                        pos_neg3 = '+'
                     elif y_mx < 0:
                        pos_neg3 = ''
                  else:
                     print "%d = b" % y
                     time.sleep(1)
                     if y == 0:
                        pos_neg3 = '+'
                     elif y > 0:
                        pos_neg3 = '+'
                     elif y < 0:
                        pos_neg3 = ''
                     y_mx = y
               elif x == 0:
                  print "%d = b" % y
                  time.sleep(1)
                  if y == 0:
                     pos_neg3 = '+'
                  elif y > 0:
                     pos_neg3 = '+'
                  elif y < 0:
                     pos_neg3 = ''
                  y_mx = y
            elif m == 0:
               print "%d = b" % y
               time.sleep(1)
               if y == 0:
                  pos_neg3 = '+'
               elif y > 0:
                  pos_neg3 = '+'
               elif y < 0:
                  pos_neg3 = ''
               y_mx = y
            print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)
            print "1st ordered pair or second?"
         ord_p = raw_input("> ")
         if ord_p.lower in ['2nd','second']:
            y = y2
            m = int(raw_input("m= "))
            x = x2
            print "%d = %d(%d)+b" % (y, m, x)
            time.sleep(1)
            if m != 0:   
               if x != 0:
                  mx = m * x
                  print "%d = %d+b" % (y, mx)
                  print "^That is a direct variation.^"
                  if mx != 0:   
                     if mx < 0:
                        pos_neg2 = '+'
                        y_mx = y + mx
                     elif mx > 0:
                        pos_neg2 = '-'
                        y_mx = y - mx
                     print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)
                     time.sleep(1)
                     print "%d = b" % y_mx
                     time.sleep(1)
                     if y_mx == 0:
                        pos_neg3 = '+'
                     elif y_mx > 0:
                        pos_neg3 = '+'
                     elif y_mx < 0:
                        pos_neg3 = ''
                  else:
                     print "%d = b" % y
                     time.sleep(1)
                     if y == 0:
                        pos_neg3 = '+'
                     elif y > 0:
                        pos_neg3 = '+'
                     elif y < 0:
                        pos_neg3 = ''
                     y_mx = y
               elif x == 0:
                  print "%d = b" % y
                  time.sleep(1)
                  if y == 0:
                     pos_neg3 = '+'
                  elif y > 0:
                     pos_neg3 = '+'
                  elif y < 0:
                     pos_neg3 = ''
                  y_mx = y
            elif m == 0:
               print "%d = b" % y
               time.sleep(1)
               if y == 0:
                  pos_neg3 = '+'
               elif y > 0:
                  pos_neg3 = '+'
               elif y < 0:
                  pos_neg3 = ''
               y_mx = y
            print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)
   if slope.lower() in ['y', 'yes']:
      print "Ok."
      b = raw_input("Do you have the b value?")
      time.sleep(1)
      #prints full equation
      if b.lower() in ['y', 'yes']:
         
         y = int(raw_input("y= "))
         m = int(raw_input("m= "))
         x = int(raw_input("x= "))
         b = int(raw_input("b= "))
         if b == 0:
            pos_neg = ''
         elif b > 0:
            pos_neg = '+'
         elif b < 0:
            pos_neg = '-'
         if b == 0:
            b1 = ''
         else:
            b1 = b
         print "%d = %d(%d)%s%s" % (y, m, x, pos_neg, b1)
      #solves for b and displays finished equation
      if b.lower() in ['n', 'no']:
         print "Ok."
         y = int(raw_input("y= "))
         m = int(raw_input("m= "))
         x = int(raw_input("x= "))
         print "%d = %d(%d)+b" % (y, m, x)
         time.sleep(1)
         if m != 0:   
            if x != 0:
               mx = m * x
               print "%d = %d+b" % (y, mx)
               time.sleep(1)
               print "^That is a direct variation.^"
               if mx != 0:
                  if mx < 0:
                     pos_neg2 = '+'
                     y_mx = y + mx
                  elif mx > 0:
                     pos_neg2 = '-'
                     y_mx = y - mx
                  print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)
                  time.sleep(1)
                  print "%d = b" % y_mx
                  time.sleep(1)
                  if y_mx == 0:
                     pos_neg3 = '+'
                  elif y_mx > 0:
                     pos_neg3 = '+'
                  elif y_mx < 0:
                     pos_neg3 = ''
               else:
                  print "%d = b" % y
                  time.sleep(1)
                  if y == 0:
                     pos_neg3 = '+'
                  elif y > 0:
                     pos_neg3 = '+'
                  elif y < 0:
                     pos_neg3 = ''
                  y_mx = y
            elif x == 0:
               print "%d = b" % y
               time.sleep(1)
               if y == 0:
                  pos_neg3 = '+'
               elif y > 0:
                  pos_neg3 = '+'
               elif y < 0:
                  pos_neg3 = ''
               y_mx = y
         elif m == 0:
            print "%d = b" % y
            time.sleep(1)
            if y == 0:
               pos_neg3 = '+'
            elif y > 0:
               pos_neg3 = '+'
            elif y < 0:
               pos_neg3 = ''
            y_mx = y
         print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)
Last edited by Mekire on Sat Nov 30, 2013 7:38 am, edited 1 time in total.
Reason: Locked.
Python 2.7
Mac Mini
Laptop w/ Ubuntu 14.04
Steam; PSN
mckryall
 
Posts: 100
Joined: Sat Nov 23, 2013 6:13 pm

Re: how to mix decimal func and int

Postby micseydel » Sun Nov 24, 2013 8:45 am

Can you rephrase your question with 10 or less lines of code?
Join the #python-forum IRC channel on irc.freenode.net!

Please do not PM members regarding questions which are meant to be discussed publicly. The point of the forum is so that others can benefit from it. We don't want to help you over PMs or emails.
User avatar
micseydel
 
Posts: 1391
Joined: Tue Feb 12, 2013 2:18 am
Location: Mountain View, CA

Re: how to mix decimal func and int

Postby mckryall » Sun Nov 24, 2013 10:26 pm

Not sure how to. That's a whole program, you don't actually need to read it.
Last edited by Mekire on Sat Nov 30, 2013 7:36 am, edited 1 time in total.
Reason: Locked
Python 2.7
Mac Mini
Laptop w/ Ubuntu 14.04
Steam; PSN
mckryall
 
Posts: 100
Joined: Sat Nov 23, 2013 6:13 pm

Re: how to mix decimal func and int

Postby stranac » Sun Nov 24, 2013 10:40 pm

Your question is hard to understand. You need to explain it better.

The best way to do that is posting a short sample of code, and telling us what results you're getting, and what results you would like to get.
Friendship is magic!

R.I.P. Tracy M. You will be missed.
User avatar
stranac
 
Posts: 1155
Joined: Thu Feb 07, 2013 3:42 pm

Re: how to mix decimal func and int

Postby mckryall » Mon Nov 25, 2013 4:25 am

I'm not actually using decimal() yet, I have code that takes in values for a slope-intercept form equation. I am using int(raw_input("> ")) to get values for the equation and do math with them. I want to know if i can use decimal() in a similar way to normal numbers with int and %d.
Last edited by Mekire on Sat Nov 30, 2013 7:36 am, edited 1 time in total.
Reason: Locked
Python 2.7
Mac Mini
Laptop w/ Ubuntu 14.04
Steam; PSN
mckryall
 
Posts: 100
Joined: Sat Nov 23, 2013 6:13 pm

Re: how to mix decimal func and int

Postby stranac » Mon Nov 25, 2013 10:26 am

Sure you can, but there's no point if you'll be dealing with ints.

You would do something like this:
Code: Select all
>>> from decimal import Decimal
>>> a = Decimal(raw_input("> "))
> 35.763726387267
>>> print 'Your number is: %s' % a
Your number is: 35.763726387267
Friendship is magic!

R.I.P. Tracy M. You will be missed.
User avatar
stranac
 
Posts: 1155
Joined: Thu Feb 07, 2013 3:42 pm


Return to General Coding Help

Who is online

Users browsing this forum: No registered users and 3 guests