| | |
Speed calculating algorithm?
Please support our Python advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved |
Hey guys,
I want to make a simple program which calculates speed, distance and time.
This is the code I used:
But, my question is, can't it be done like this:
Won't Python itself decide that in if else case 2, since speed and time are provided, it has to calculate time using formula 's=d/t'?
Thanks
I want to make a simple program which calculates speed, distance and time.
This is the code I used:
Python Syntax (Toggle Plain Text)
a=input("1)Find speed\n2)Find distance\n3)Find time\n4)Quit\n") while a!=4: if a==1: d=input("\nEnter distance: ") t=input("Enter time: ") print ("Speed: "+str(d/t)+"\n") elif a==2: s=input("\nEnter speed: ") t=input("Enter time: ") print ("Distance :"+str(s*t)+"\n") elif a==3: s=input("\nEnter Speed: ") d=input("Enter distance: ") print ("Time :"+str(d/s)+"\n") a=input("1)Find speed\n2)Find distance\n3)Find time\n4)Quit\n")
But, my question is, can't it be done like this:
Python Syntax (Toggle Plain Text)
s=input("Speed: ") d=input("Distance: ") t=input("Time: ") #Considering 1- is the symbol for 'find' s=d/t if(s==1-): print (s) elif(d==1-): print (d) elif(t==1-): print (t)
Won't Python itself decide that in if else case 2, since speed and time are provided, it has to calculate time using formula 's=d/t'?
Thanks
Assuming you are using Python2, you could do it like this:
python Syntax (Toggle Plain Text)
print("Enter zero for the value you are looking for:") s = d = t = 0 while True: s = input("Speed (miles/hour): ") d = input("Distance (miles): ") t = input("Time (hours): ") if s == 0: s = d/float(t) f = "You have gone %.3f miles in %.3f hours, speed = %.3f" print f % (d, t, s) if d == 0: d = s * float(t) f = "You have gone at %.3f miles/h for %.3f hours, distance = %.3f" print f % (s, t, d) if t == 0: t = d/float(s) f = "You have gone %.3f miles at %.3f miles/h, time = %.3f" print f % (d, s, t) yn = raw_input( "Any more calculations (y or n)? ") if 'n' in yn.lower(): break
I upped my sanitary measures, up yours!
By putting "s = d / t" before the conditionals would only calculate speed - but what happens when you give speed and distance for example? It wouldn't calculate time. You have to put each individual case within the appropriate conditional branch like Lardmeister did.
P.S. This kind of program is much more useful for something like cosine law, sine law, quadratic formula, etc. as opposed to the simplistic s = d / t which is just a simple, one-step calculation
P.S. This kind of program is much more useful for something like cosine law, sine law, quadratic formula, etc. as opposed to the simplistic s = d / t which is just a simple, one-step calculation
Last edited by shadwickman; Jul 5th, 2009 at 2:00 pm.
"Two good old boys in a fire-apple red convertible. Stoned. Ripped. Twisted. Good people."
- Hunter S. Thompson
my photography
- Hunter S. Thompson
my photography
Something like Lardmeister's code would be a good start of an Equation Solver as set forth in:
http://www.daniweb.com/forums/post159522-7.html
Just make sure you keep your units of measurement correct.
http://www.daniweb.com/forums/post159522-7.html
Just make sure you keep your units of measurement correct.
May 'the Google' be with you!
![]() |
Similar Threads
- Time complexity of algorithm (Computer Science)
- Help me speed up this function? (Python)
- Knight's Tour Speedup. (C)
- memory management in wndows 2000 (Windows NT / 2000 / XP)
- Math in real time (Computer Science)
- 1000% Speed Increase Using Linux Kernel 2.6 (Kernels and Modules)
- Can you guys help me? about Quick Sort Algorithm (C)
- NetZero..."high speed"? (IT Professionals' Lounge)
Other Threads in the Python Forum
- Previous Thread: Help with columns formatting
- Next Thread: wxPython download links broken?
| Thread Tools | Search this Thread |
abrupt ansi anti approximation array assignment avogadro backend beginner binary bluetooth builtin calculator character chmod code converter countpasswordentry curved customdialog dan08 decimals dictionaries dictionary drive dynamic examples exe file float format function gnu graphics gui heads homework http ideas import input java launcher leftmouse line linux list lists loop module mouse mysqlquery number numbers output parsing path plugin pointer port prime programming progressbar projects py2exe pygame pyqt pysimplewizard python random recursion scrolledtext sqlite statistics stdout string strings sum table terminal text textarea thread threading time tkinter tlapse tricks tuple tutorial twoup ubuntu unicode urllib urllib2 variable windows write wxpython xlib






