#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

#### Categories

Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

# Basics

Posts: 43Member
[b][red]This message was edited by francisstokes at 2006-5-28 8:53:8[/red][/b][hr]
[b][red]This message was edited by francisstokes at 2006-5-28 8:51:50[/red][/b][hr]
I thought i'd take a little look at python yesterday (since ive never used it), and i made a little pound/stone converter, but i cant seem to get it to work (i get a syntax error). Heres the code:

[code]

input = string;

input = raw_input("Convert (p)ounds to stones, or (s)tones to pounds?")

if input == "p":

pnds = float;
stns = float;
pnds = float(raw_input("Value in pounds...")
print 'stones : ', (pnds / 14) # Syntax error occurs here

elif input == "s":

pnds = float;
stns = float;
stns = float(raw_input("Value in stones...")
print 'pounds : ', (stns * 14)

print

[/code]

· ·

• Posts: 2,900Member
[b][red]This message was edited by Moderator at 2006-5-30 8:54:12[/red][/b][hr]
Wow, I'll admit this one threw me for a minute, but the problem is the line above is missing a right-parenthesis.

Here is my version of your script:

[code]
input = raw_input("Convert (p)ounds to stones, or (s)tones to pounds?")

if input == "p":
pnds = float(raw_input("Value in pounds...")[red]) # missing right paren[/red]
print 'stones : ', (pnds / 14)

elif input == "s":
stns = float(raw_input("Value in stones...")[red]) # missing right paren[/red]
print 'pounds : ', (stns * 14)

print
[/code]

Python automatically "declares" variables when you assign something to them, so all of the "input = string" and "pnds = float" stuff you had was just useless. Not only that, but "input = string" is invalid because nothing named "string" exists at that point, so it raises an error. "pnds = float" works because there is an object named "float" built-in to python, it's the float type.

So, strip out the bogus "declaration" lines and add the missing parentheses, and you're good to go. Good job and thanks for giving Python a try.

[size=5][italic][blue][RED]i[/RED]nfidel[/blue][/italic][/size]

[code]
\$ select * from users where clue > 0
no rows returned
[/code]

· ·
• Posts: 43Member
Yeah i found out about the not having to declare things yesterday. I come from a mainly C# / .NET background, so i just naturally assumed you had to declare everything. Thanks

· ·