-1

I'm making a Calculator in python. How would I call back to the start of my script so if they reply yes they go to the start again?

import sys

number = input('What is the first number?')
number = int(number)
number2 = input('What is the second number?')
number2 = int(number2)

yes = print("Hello")
yes = number(yes)

task = input('What do you want to do: / for divide, * for multiply, + for addition, - for subtraction?')

if task == "-":
    answer = number - number2
    print(answer)
elif task == "+":
    answer = number + number2
    print(answer)
elif task == "/":
    answer = number / number2
    print(answer)
elif task == "*":
    answer = number * number2
    print(answer, 'is your answer!')

retry = input('Would you like to try again?')
retry = str(retry)

if retry == "no":
    sys.exit
elif retry == "yes":
    yes()
quamrana
  • 37,849
  • 12
  • 53
  • 71

2 Answers2

2

In order to go to the start of the script if the user types yes you would need a while loop. If the user does not want to get the new calculation it breaks out of that while loop, and if the user says yes it goes back to the start of the loop using continue statement as follows:

import sys


while True:
    number = input('What is the first number?')
    number = int(number)
    number2 = input('What is the second number?')
    number2 = int(number2)

    yes = print("Hello")

    task = input('What do you want to do: / for divide, * for multiply, + for addition, - for subtraction?')

    if task == "-":
        answer = number - number2
        print(answer)
    elif task == "+":
        answer = number + number2
        print(answer)
    elif task == "/":
        answer = number / number2
        print(answer)
    elif task == "*":
        answer = number * number2
        print(answer, 'is your answer!')

    retry = input('Would you like to try again?')
    retry = str(retry)

    if retry == "no":
        break
    elif retry == "yes":
        continue
Junaid
  • 159
  • 1
  • 15
  • upvote for the loop and a tidy up, but the `retry = str(retry)` and the last two lines are also redundant. – quamrana Apr 20 '21 at 19:34
1

You can follow this general pattern:

>>> response = 'y'
>>> while response != 'n':
  2     print('Hi! This is your game loop')
  3     response = input('Do you want to try again? (Y/n): ')
Hi! This is your game loop
Do you want to try again? (Y/n): y
Hi! This is your game loop
Do you want to try again? (Y/n): Y
Hi! This is your game loop
Do you want to try again? (Y/n): yes
Hi! This is your game loop
Do you want to try again? (Y/n): wow
Hi! This is your game loop
Do you want to try again? (Y/n): no
Hi! This is your game loop
Do you want to try again? (Y/n): n
Mike Lane
  • 1,134
  • 7
  • 19