[b][red]This message was edited by streak118 at 2006-5-1 0:1:14[/red][/b][hr]
ok... Im a tard... somebody, ANYBODY!, please help! tell me what I'm doing wrong? or better yet tell me what to fix and how to? this is a class project. I'm failing this class because Im not grasping programming... and I started with C++ then came to this, HELP!?!
#This program will calculate the time it will take a sound to travel based on
#the matter it is traveling through; air, water, or steel.
def main():
#declare and initialize variables
#AIR as constant
AIR = 1100
#WATER as constant
WATER = 4900
#STEEL as constant
STEEL = 16400
#MenuChoice as string
MenuChoice = " "
#feet as int
#feet = 0
#seconds as int
seconds = 0
#Intro print "WELCOME TO THE SPEED OF SOUND PROGRAM!!!"
print "I will calculate the time it takes for a souond to travel through"
print "different matter."
#build menu for user to choose from
print "Please choose from the following menu:
"
print " A) Air"
print " W) Water"
print " S) Steel"
#prompt user for MenuChoice
MenuChoice = raw_input("
Please enter your choice here: ")
#prompt user for distance of travel
feet = input("Now, please enter the distance that the sound wave will travel(feet): ")
#calculate time for sound to travel
A = AIR
W = WATER
S = STEEL
if MenuChoice == A:
seconds = feet / AIR
elif MenuChoice == W:
seconds = feet / WATER
else:
MenuChoice == S
seconds = feet / STEEL
#display ETA of the sound
print "
It will take", seconds, "second(s) for the sound wave to travel."
ps... I have this indented but it's not showing up on the message board.
Comments
: ok... Im a tard... somebody, ANYBODY!, please help! tell me what I'm doing wrong? or better yet tell me what to fix and how to? this is a class project. I'm failing this class because Im not grasping programming... and I started with C++ then came to this, HELP!?!
:
: #This program will calculate the time it will take a sound to travel based on
: #the matter it is traveling through; air, water, or steel.
:
: [code]
: def main():
:
: #declare and initialize variables
: #AIR as constant
: AIR = 1100
:
: #WATER as constant
: WATER = 4900
:
: #STEEL as constant
: STEEL = 16400
:
: #MenuChoice as string
: MenuChoice = " "
:
: #feet as int
: #feet = 0
:
: #seconds as int
: seconds = 0
:
: #Intro
: print "WELCOME TO THE SPEED OF SOUND PROGRAM!!!"
: print "I will calculate the time it takes for a souond to travel through"
: print "different matter."
:
: #build menu for user to choose from
: print "Please choose from the following menu:
"
:
: print " A) Air"
: print " W) Water"
: print " S) Steel"
:
: #prompt user for MenuChoice
: MenuChoice = raw_input("
Please enter your choice here: ")
:
: #prompt user for distance of travel
: feet = input("Now, please enter the distance that the sound wave will travel(feet): ")
:
: #calculate time for sound to travel
: A = AIR
: W = WATER
: S = STEEL
:
: if MenuChoice == A:
: seconds = feet / AIR
: elif MenuChoice == W:
: seconds = feet / WATER
: else:
: MenuChoice == S
: seconds = feet / STEEL
:
: #display ETA of the sound
:
: print "
It will take", seconds, "second(s) for the sound wave to travel."
: [/code]
I'll take a closer look a little later, but for now, one quick lesson in Python. The interpreter does not automatically call any "main" function. All you've done here is define a function named "main" and then everything ends. You need to put a call to main after you define it:
[code]
def main():
blah blah blah...
main()
[/code]
: ps... I have this indented but it's not showing up on the message board.
You need to use the special formatting tags for this board system, [leftbr]code[rightbr] and [leftbr]/code[rightbr]
[size=5][italic][blue][RED]i[/RED]nfidel[/blue][/italic][/size]
[code]
$ select * from users where clue > 0
no rows returned
[/code]
:
: #declare and initialize variables
technically you never "declare" variables in python, you just bind names to values.
: #AIR as constant
: AIR = 1100
:
: #WATER as constant
: WATER = 4900
:
: #STEEL as constant
: STEEL = 16400
I'm sure you know by now, but these aren't true "constants". Python has no such construct.
: #prompt user for distance of travel
: feet = input("Now, please enter the distance that the sound wave will travel(feet): ")
input() is risky because it tries to eval() whatever the user enters so can very easily trigger exceptions. Better to use raw_input and try to convert the value to a decimal.
: #calculate time for sound to travel
: A = AIR
: W = WATER
: S = STEEL
All you've done here is make two names both equal the same value A and AIR are now both references to the same integer object.
: if MenuChoice == A:
: seconds = feet / AIR
: elif MenuChoice == W:
: seconds = feet / WATER
: else:
: MenuChoice == S
: seconds = feet / STEEL
The user entered strings, but here you're checking their input against the value of A. A is different than 'A' in Python.
: #display ETA of the sound
:
: print "
It will take", seconds, "second(s) for the sound wave to travel."
Like I mentioned in the other reply, you need to call your main function after defining it.
Ok, so here is what I have come up with:
[code]
#This program will calculate the time it will take a sound to travel based on
#the matter it is traveling through; air, water, or steel.
# sound propagation "constants"
AIR = 1100
WATER = 4900
STEEL = 16400
def main():
#Intro
print "WELCOME TO THE SPEED OF SOUND PROGRAM!!!"
print "I will calculate the time it takes for a souond to travel through"
print "different matter."
#build menu for user to choose from
print "Please choose from the following menu:
"
print " A) Air"
print " W) Water"
print " S) Steel"
#prompt user for choice
choice = ' '
while choice not in 'AaWwSs':
choice = raw_input("
Please enter your choice here (A, W, S): ")
#prompt user for distance of travel
feet = float(
raw_input("Please enter the distance (feet) that the sound wave will travel: ")
)
#calculate time for sound to travel
seconds = 0
if choice in 'Aa':
seconds = feet / AIR
elif choice in 'Ww':
seconds = feet / WATER
elif choice in 'Ss':
seconds = feet / STEEL
#display ETA of the sound
print "
It will take", seconds, "second(s) for the sound wave to travel."
if __name__ == '__main__':
main()
[/code]
[size=5][italic][blue][RED]i[/RED]nfidel[/blue][/italic][/size]
[code]
$ select * from users where clue > 0
no rows returned
[/code]
[code]
#This program will calculate the time it will take a sound to travel based on
#the matter it is traveling through; air, water, or steel.
def main():
#declare and initialize variables
#AIR as constant
AIR = 1100
#WATER as constant
WATER = 4900
#STEEL as constant
STEEL = 16400
#MenuChoice as string
MenuChoice = " "
#feet as int
#feet = 0
#seconds as int
seconds = 0
#Intro
print "WELCOME TO THE SPEED OF SOUND PROGRAM!!!"
print "I will calculate the time it takes for a souond to travel through"
print "different matter."
#build menu for user to choose from
print "Please choose from the following menu:
"
print " A) Air"
print " W) Water"
print " S) Steel"
#prompt user for MenuChoice
MenuChoice = raw_input("
Please enter your choice here: ")
#prompt user for distance of travel
feet = input("Now, please enter the distance that the sound wave will travel(feet): ")
feet = float(feet)
#calculate time for sound to travel
if MenuChoice == "A":
seconds = feet / AIR
elif MenuChoice == "W":
seconds = feet / WATER
else:
MenuChoice == "S"
seconds = feet / STEEL
#display ETA of the sound
print "
It will take", seconds, "second(s) for the sound wave to travel."
[/code]
again thank you so much for helping, I'll need more help between now (may 1st, 10:10pm est) and tomorrow 5pm with three other programs I have to build... I hope you can help some more.