I am trying to create a basic calculator in Python. I wrote all codes but i can not figure out to operate these codes for loop. Basically, after the calculation user have to go back start point and calculate again. Where should i put the "for loop" for these case?
Also you have to know that, I'm a little new to all this. Thank you.
Here is my codes;
operation_list = [' ', '-', 'x', '/', '**', 'root']
op = input(f"{operation_list}""Choose an Operation" ":")
if op == "**":
num4= int(input("Enter the number you want to exponent:"))
num3 = int(input("Enter exponent:"))
print(num4, "**", num3, "=", num4 ** num3)
elif op == "root":
num5= int(input("Enter the Number You Want to Root:"))
print(num5,"'in" " root", "=", num5 ** 0.5)
elif op == " ":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, " ", num2, "=", num1 num2)
elif op == "-":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "-", num2, "=", num1 - num2)
elif op == "x":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "x", num2, "=", num1 * num2)
elif op == "/":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "/", num2, "=", num1 / num2)
else:
print("There is no such command. Please choose one of the following commands ( , -, x, /, **, root).")
Basically, after the calculation user have to go back start point and calculate again. Where should i put the "for loop" for these case?
Thank you for your answer @luk2302
I just added while True and working well now.
Here is the new codes;
operation_list = [' ', '-', 'x', '/', '**', 'root']
while True: op = input(f"{operation_list}""Choose an Operation" ":")
if op == "**":
num4= int(input("Enter the number you want to exponent:"))
num3 = int(input("Enter exponent:"))
print(num4, "**", num3, "=", num4 ** num3)
elif op == "root":
num5= int(input("Enter the Number You Want to Root:"))
print(num5,"'in" " root", "=", num5 ** 0.5)
elif op == " ":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, " ", num2, "=", num1 num2)
elif op == "-":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "-", num2, "=", num1 - num2)
elif op == "x":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "x", num2, "=", num1 * num2)
elif op == "/":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, "/", num2, "=", num1 / num2)
else:
print("There is no such command. Please choose one of the following commands ( , -, x, /, **, root).")
CodePudding user response:
You have multiple choice. If you want the user to do 3 calculations for example, you can use a for loop like this :
for i in range(3):
op = input(f"{operation_list}""Choose an Operation" ":")
if op == " ":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, " ", num2, "=", num1 num2)
else:
print("There is no such command. Please choose one of the following commands ( , -, x, /, **, root).")
But if you want infinite calculations, you can use a while
loop, but in this case I recommand to have a possibility to break the loop, by saying exit
for example, like this :
while True:
op = input(f"{operation_list}""Choose an Operation" ":")
if op == " ":
num1= int(input("Enter First Number:"))
num2= int(input("Enter Second Number:"))
print(num1, " ", num2, "=", num1 num2)
elif op == "exit":
break
else:
print("There is no such command. Please choose one of the following commands ( , -, x, /, **, root).")
Note that I simplified your code for readability, but I let you adapt to your case.