omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Getting program to run multiple times

    Pythonista
    3
    4
    2358
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DaveClark
      DaveClark last edited by DaveClark

      I am doing some calculation work and I have something that works, but I am having trouble making it run multiple times. I would like to run a bunch of different values but at the moment it only runs once in the console and kicks you out. How can I change this to run until the user stops the program. Thanks for any help

      import math
      
      
      def main():
      		try:
      				bump=float(input('\nbump height? '))
      				tire=float(input('tire diameter in inches? '))
      				speed=float(input('vehicle speed in miles per hour? '))
      				
      						
      		except ValueError:
      				print('\nyou entered an invalid input')
      		else:
      			  
      			  print('the hub speed is ' + repr(round((calculatehubspeed(bump, tire, speed)))) + ' inches per second')
      			  
      
      def calculatehubspeed(bump, tire, speed):
      	
      		answer = bump/(math.sqrt((tire/2)**2-((tire/2-bump)**2))/(speed*17.6))
      
      		return(answer)
      		
      
      if __name__ == '__main__':
      
       main()
      
      				```
      1 Reply Last reply Reply Quote 0
      • dgelessus
        dgelessus last edited by

        It should be enough to put your entire main code into a while True loop. That way it will repeat forever (until you press the stop button - that raises an exception, which stops the loop).

        1 Reply Last reply Reply Quote 1
        • Drizzel
          Drizzel last edited by

          Put main() into a while True or for x in range() loop.

          #your definitions and so on...
          
          While True:
            main() #the indented part is now repeating for eternity... :-) if you wish to stop the loop, just insert the command break 
          
          

          The for x in range(range) loop will repeat for x times whatever integer the range variable is set to.

          for x in range(12):
            print(x) # x is equal to the number of times that the loop has been executed already
            main() # now your code is repeated 12 times
          
          1 Reply Last reply Reply Quote 1
          • DaveClark
            DaveClark last edited by

            Thanks for helping me. It took about 10 seconds to change it after I read about the While loop. I was tying to put the main function in the loop, which was wrong. I needed to put the main function call in the While loop.
            I have a bunch of calculations for use in the console but I want to put them into some kind of menu and page (with textboxes for answers) app so there can be a number keypad for ease of use

            Again, this forum never lets me down, Thanks guys and gals

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Powered by NodeBB Forums | Contributors