J
JonDoe297
You may remember me from this :
https://groups.google.com/forum/#!topic/comp.lang.python/PIkUno3avkw
I need help to increase the efficiency of this code :
global repeat
repeat=1
def main():
c=int(raw_input("How many numbers do you want to work? (Min. 2 Max. 3) "))
if c==2:
x=int(raw_input("Enter the first number to be worked "))
y=int(raw_input("Enter the second number to be worked "))
elif c==3:
x=int(raw_input("Enter the first number to be worked "))
y=int(raw_input("Enter the second number to be worked "))
z=int(raw_input("Enter the third number to be worked "))
else:
print "Invalid input.";raw_input("Press <enter> to close this window");exit()
p=int(raw_input("Do you want to divide, subtract, add or multiply these numbers? (1=divide, 2=subtract, 3=add, 4=multiply) "))
if p==1 and c==2:
print "The result is : ",x/y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==1 and c==3:
print "The result is : ",x/y/z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==2 and c==2:
print "The result is : ",x-y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==2 and c==3:
print "The result is : ",x-y-z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==3 and c==2:
print "The result is : ",x+y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==3 and c==3:
print "The result is : ",x+y+z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==4 and c==2:
print "The result is : ",x*y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==4 and c==3:
print "The result is : "+str(x*y*z)
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
else:
repeat=int(raw_input("Invalid Input. Please read instructions properly. Would you like to try again? Yes=1 No=2 "))
if repeat==1:
main()
else:
exit()
main()
Is there any way to make it smaller? It does it's job, but I want it to look smaller, more efficient.
https://groups.google.com/forum/#!topic/comp.lang.python/PIkUno3avkw
I need help to increase the efficiency of this code :
global repeat
repeat=1
def main():
c=int(raw_input("How many numbers do you want to work? (Min. 2 Max. 3) "))
if c==2:
x=int(raw_input("Enter the first number to be worked "))
y=int(raw_input("Enter the second number to be worked "))
elif c==3:
x=int(raw_input("Enter the first number to be worked "))
y=int(raw_input("Enter the second number to be worked "))
z=int(raw_input("Enter the third number to be worked "))
else:
print "Invalid input.";raw_input("Press <enter> to close this window");exit()
p=int(raw_input("Do you want to divide, subtract, add or multiply these numbers? (1=divide, 2=subtract, 3=add, 4=multiply) "))
if p==1 and c==2:
print "The result is : ",x/y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==1 and c==3:
print "The result is : ",x/y/z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==2 and c==2:
print "The result is : ",x-y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==2 and c==3:
print "The result is : ",x-y-z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==3 and c==2:
print "The result is : ",x+y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==3 and c==3:
print "The result is : ",x+y+z
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==4 and c==2:
print "The result is : ",x*y
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
elif p==4 and c==3:
print "The result is : "+str(x*y*z)
repeat=int(raw_input("Do you want to calculate for more numbers? Yes=1 No=2 "))
if repeat==1:
main()
else:
repeat=int(raw_input("Invalid Input. Please read instructions properly. Would you like to try again? Yes=1 No=2 "))
if repeat==1:
main()
else:
exit()
main()
Is there any way to make it smaller? It does it's job, but I want it to look smaller, more efficient.