Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Quick question from a super noob.
Index -> Programming, Python -> Python Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
SIXAXIS




PostPosted: Thu Feb 21, 2008 3:28 pm   Post subject: Quick question from a super noob.

Hi,

As you can see, I'm extremely new to Python, and although it's not the first language that I'm learning to program in, I don't know how to do anything. My question is: How do you make a variable a real number instead of an integer?
Sponsor
Sponsor
Sponsor
sponsor
Nick




PostPosted: Thu Feb 21, 2008 3:31 pm   Post subject: RE:Quick question from a super noob.

instead of assigning 10 to the variable foo let's call it, try assigning 10.0
McKenzie




PostPosted: Thu Feb 21, 2008 7:07 pm   Post subject: Re: Quick question from a super noob.

Right, unless your problem is something like:
code:

n = input("Enter numerator: ")
d = input("Enter denominator: ")
print "that is", n / d

in which case you need to use float if you want a decimal answer, like:
code:

print "that is", float(n) / d


Keep in mind that Python is dynamically typed so:
code:

x = 12
x = 4.5
x = "Dog"

works just fine.
Sniper4Life




PostPosted: Sun Apr 12, 2009 10:40 pm   Post subject: RE:Quick question from a super noob.

mckenzie...how would u set it so that the decimals can only go SO FAR...like you can only have 4 or 3 decimals...or only 1...??????
[Gandalf]




PostPosted: Mon Apr 13, 2009 1:13 am   Post subject: RE:Quick question from a super noob.

Well, I'm not McKenzie, however...
code:
>>> print "Amount: %.2f" % (3.141592653589)
 Amount: 3.14
Sniper4Life




PostPosted: Mon Apr 13, 2009 9:55 am   Post subject: RE:Quick question from a super noob.

so....%2f should do it?

oh ya i tried your thing and it works
ty
but u cant use it if you do firstpx-secondpx as what your gonna round

code:

firstpx=input ("First point's x coordinate: ")
firstpy=input ("First point's y coordinate: ")

print " "
secondpx=input ("Second point's x coordinate: ")
secondpy=input ("Second point's y coordinate: ")
print " "

print "First point:  ","(","%.2f" % firstpx,",","%.2f" % firstpy,")"
print "Second point: ","(","%.2f" % secondpx,",","%.2f" % secondpy,")"
print " "




print "Distance: ""(",firstpx-secondpx,",",firstpy-secondpy,")"



k ive been stuck on this code like forever cus i dont know how to round it....at the last line when you print distance...how can u make it so you can round it?
since its printing an operation...i dont kno...how to round it...O.O
Sniper4Life




PostPosted: Mon Apr 13, 2009 10:53 am   Post subject: RE:Quick question from a super noob.

nvr mind i just figured it out its very simple ^^
i nvr learned bout floats in python so it was a bit confusing for me...
code:

x=float(firstpx-secondpx)
y=float(firstpy-secondpy)
print "Distance: ""(","%.2f" % x,",","%.2f" % x,")"



ya that solves my problem ^^
(ps-awesome im not a noob programmer any more Very Happy)
Zeroth




PostPosted: Mon Apr 13, 2009 11:06 am   Post subject: Re: Quick question from a super noob.

Be very, very, very careful with using input. Its basically evaluating all input typed by the user. So one could feasibly use straight python code, write a function, or manipulate the program state via input.

Your usage of input means that the user could input either an int or a float. You need to use float(firstpx) to force them to floats.

Second of all, its much nicer to use:
code:

print "First point: (%.2f,%.2f)" % (float(firstpx), float(firstpy))


The use of the brackets around the two arguments creates a tuple, which python automatically unpacks to the positional arguments in the string.

You can also do some really cool stuff like this:
code:

>>> d = {'car': 'haha', 'cdr': '!lisp'}
>>> print "%(car)s" % d
haha
>>>


What happened there is that the key is inside the ()'s, and the format is right after, the s. By passing a dict, you can fill in the string as necessary, so long as empty keys still have a value(ideally, just a blank string ""). Of course, any class that behaves like a dict will work here too Wink.
Sponsor
Sponsor
Sponsor
sponsor
wtd




PostPosted: Mon Apr 13, 2009 11:10 am   Post subject: Re: RE:Quick question from a super noob.

Sniper4Life @ Mon Apr 13, 2009 11:40 am wrote:
mckenzie...how would u set it so that the decimals can only go SO FAR...like you can only have 4 or 3 decimals...or only 1...??????


Keep in mind that you can't control the accuracy of the information stored as a floating point number. You can only control the accuracy of the output.
Sniper4Life




PostPosted: Mon Apr 13, 2009 11:27 am   Post subject: RE:Quick question from a super noob.

ya wtd thats what i meant
for question introEx5 on mckenzie's exercises i need to control the output...
Display posts from previous:   
   Index -> Programming, Python -> Python Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 10 Posts ]
Jump to:   


Style:  
Search: