This is my Calculator in Python 3.3.0
This is my program…
import random
import math
a=int(input('Please enter your first number!: '))
x=int(input('Please enter your second number!: '))
menu='So what do you want me to do with these numbers? (Ps. Only put in the number)\n\
1. Do you want me to add the numbers together?\n\
2. Do you want me to subtract the numbers?\n\
3. Do you want me to multipy the numbers?\n\
4. Do you want me to divide the numbers?\n\
5. Do you want me to square the numbers?\n\
6. Do you want me to put one number to the power of the other?\n\
7. Do you want me to square root both numbers?\n\
8. Nothing but quit!\n\'
y=int(input(menu))
if y==1:
print(str(a)+' + '+str(x)+' = '+str(a+x))
elif y==2:
c=int(input('Which number will you subract from? 1. '+str(a)+' or 2. '+str(x)+'? (Remember only put 1 or 2) '))
if c==1:
print(str(a)+' - '+str(x)+' = '+str(a-x))
elif c==2:
print(str(x)+' - '+str(a)+' = '+str(x-a))
elif y==3:
print(str(a)+' x '+str(x)+' = '+str(a*x))
elif y==4:
d=int(input('Which number will you divide from? 1. '+str(a)+' or 2. '+str(x)+'? (Remember only put 1 or 2) '))
if d==1:
print(str(a)+' ÷ '+str(x)+' = '+str(a/x))
elif d==2:
print(str(x)+' ÷ '+str(a)+' = '+str(x-a))
elif y==5:
b=int(input('Which number do you want to square? 1. '+str(a)+' or 2. '+str(x)+'? (Remember only put 1 or 2) '))
if b==1:
print(str(a)+' x '+str(a)+' = '+str(a*a))
elif b==2:
print(str(x)+' x '+str(x)+' = '+str(x*x))
elif y==6:
e=int(input('Which number do you want to put the power to? 1. '+str(a)+' or 2. '+str(x)+'? (Remember only put 1 or 2) '))
if e==1:
print(str(a)+' to the power of '+str(x)+' = '+str(a**x))
elif e==2:
print(str(x)+' to the power of '+str(a)+' = '+str(x**a))
elif y==7:
f=int(input('Which number do you want to square root? 1. '+str(a)+' or 2. '+str(x)+' or 3. Both or 4. Pick random? (Remember only put 1, 2, 3 or 4) '))
if f==1:
print('The square root of '+str(a)+' is '+sqrt(a))
elif f==2:
print('The square root of '+str(x)+' is '+sqrt(x))
elif f==3:
print('The square root of '+str(a)+' is '+sqrt(a)+' and the square root of '+str(x)+' is '+sqrt(x))
elif f==4:
print('Let me see! I pick...')
g=random.randint(1,3)
if g==1:
print('The square root of '+str(a)+' is '+sqrt(a))
elif g==2:
print('The square root of '+str(x)+' is '+sqrt(x))
elif g==3:
print('The square root of '+str(a)+' is '+sqrt(a)+' and the square root of '+str(x)+' is '+sqrt(x))
elif y==8:
print('Bye!!!')
elif y==69:
print('Very mature!')
else:
print('No command selected. Self destruction in T-10 seconds. 10... 9... 8... 7... 6... 5... 4... 3... 2... 1... 0... BOOM!')
exit()
This is giving me problems on the 26th line where it says +str(a). The ‘)’ is causing the error above. Please help. I have looked at http://code.google.com/hosting/search?q=label%3aPython and it doesn’t give me information on why it is scanning wrong.
Assuming that the code you posted here is the same code you’re running, the actual problem is earlier, at line 13:
You never close the
menustring, because\'is not a string-closing quote, it’s a literal character inside the string.And in fact, when I run this, I get:
And if I fix that (by removing the excess backslash), everything runs fine—including the division case, which is where line 26 comes up.
So, if this isn’t your actual error, you’ve apparently fixed the real problem and added a new one in the process of pasting your code here…
As Jakob Bowyer pointed out, the SO syntax highlighter actually found this same problem—for example, notice that line 14 (
y=int(input(menu))) is highlighted as part of a string literal, rather than as code. If you’re using a decent editor yourself, if will do something similar.This is one reason you always want to use real multiline strings, rather than faking them with backslash continuation. (Another reason is that at some point, you will put a space after the backslash, which will break your code, despite being completely invisible to you. Then there’s the fact that some syntax highlighters, and all human beings, get confused by backslash continuations in strings…)