Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 5 years ago.
Improve this question
Helli I'm a beginner programmer and I'm getting a print syntax error and I don't know why....
def Input_Q_bounds (lower,upper):
delta_x = .1
#since there are 100 iterations
J=np.zeros(101)
for i in range(101) :
Q=(i*delta_x)+(delta_x/2)
if lower <=(Q_i)<= upper :
Q_i =1
else :
Q_i=0
#now fill the matrix
J[i]=(Q+(9.5*(J[i-1])))/10.5
while (i==1):
J_analytical = Q*(np.exp(upper-10)+(np.exp(lower-10))
print(J_analytical)
break
Here's the error:
File "<ipython-input-135-25106d5ec500>", line 19
print(J_analytical)
^
SyntaxError: invalid syntax
Your parentheses in the line above are not balanced - you have four open parens and only three closing parens.
In the line before
print(J_analytical)
the brackets do not match!
J_analytical = Q*(np.exp(upper-10)+(np.exp(lower-10))
^
# change it to:
J_analytical = Q*(np.exp(upper-10)+(np.exp(lower-10)))
^
Related
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
with open("netlib.txt") as f1, open("mkl.txt") as f2, open("summary.txt", "w") as out:
for x, y in zip(f1, f2):
if x.strip() == y.strip():
out.write(x.strip() + "\n")
if "Loops" in x:
out.write("{0:<20}".format("Netlib") + "{0:<20}".format("MKL")
elif "#" in x and "#" in y:
...
I get this Error Message:
File "file_join.py", line 7
elif ("#" in x and "#" in y):
^
SyntaxError: invalid syntax
If I comment out the 2 lines above the elif, it works fine.
Can someone please help?
In this line:
out.write("{0:<20}".format("Netlib") + "{0:<20}".format("MKL")
You're missing a close paren at the end. It should be:
out.write("{0:<20}".format("Netlib") + "{0:<20}".format("MKL"))
Generally, if you get syntax errors when your code is valid, it's either due to the line above or due to bad indentation.
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
Check out the screenshot and help this newb with why i'm getting this syntax error with the for loop even though im following the right syntax.
The code :
elif choice == 'AVERAGE':
import statistics
lst = []
n = int(input('Enter number of values to calculate mean of: ')
for i in range(0,n):
ele=int(input())
lst.append(ele)
The Error : Invalid Syntax for the ':' after 'range(0,n)'
You are spacing the items inside the for loop with double Tab, the indentation should be either 4 spaces or a single tab.
And you are missing a parenthesis closing in the n input line
See the modified code below.
elif choice == 'AVERAGE':
import statistics
lst = []
n = int(input('Enter number of values to calculate mean of: '))
for i in range(0,n):
ele=int(input())
lst.append(ele)
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 5 years ago.
Improve this question
I have an indetntation issue with my code:
#!/usr/bin/python
import numpy as np
#Hit and mess method
A=0 #Integral left limit
B=1 #Integral right limit
C=1.0 #Maximum function value in interval [a,b]
N=100000 #Number of experiments
L=[10**x for x in range(7)] #List of powers of ten (1,10,100,...)
def F(X): #Function to integrate
return np.sqrt(1-(X**2))
for M in L:
NA=0 #Number count of hits
for J in range(M):
U=np.random.rand()
V=np.random.rand()
X=A+(B-A)*U
if F(X) > C*V:
NA=NA+1
P=NA/float(M) #Probability
I=C*(B-A)*P #Integral value
STD=np.sqrt(P*(1-P)/M)*C*(B-A)
print M,NA,P,I,STD
The error is:
File "HIT.py", line 19
U=np.random.rand()
^
IndentationError: expected an indented block
Thanks!
You are mixing tabs and spaces. Your code uses tabs in the 2 lines above U=np.random.rand(), however, indentation is provided by spaces for U=np.random.rand(). And there are many other examples of mixed spaces and tabs in your code.
For a few of the lines, the code looks like this (\t represents a tab):
for M in L:
\tNA=0 #Number count of hits
\tfor J in range(M):
U=np.random.rand()
\tV=np.random.rand()
\tX=A+(B-A)*U
You should only use spaces for indentation, if possible (it may not be possible when maintaining older code). You can read about this and other style issues in PEP 8.
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
I tried to write a regular expression that looks like it would work, but I had to replace some of the literal strings with word patterns and I want to understand why.
Here's the example:
import re
text = " 1 p2 2.26347691E+12 optvl 9.05369210E+04 ctha 6.00000000E+01"
p1 = re.compile(r"\s+(\d+)\s+p2\s+([\d\.\+\-E]+)\s+optv1\s+([\d\.\+\-E]+)\s+ctha\s+([\d\.\+\-E]+)")
m1 = p1.findall(text)
print m1
p2 = re.compile(r"\s+(\d+)\s+p2\s+([\d\.\+\-E]+)\s+\w+\s+([\d\.\+\-E]+)\s+\w+\s+([\d\.\+\-E]+)")
m2 = p2.findall(text)
print m2
Here's the output:
[]
[('1', '2.26347691E+12', '9.05369210E+04', '6.00000000E+01')]
Thanks for any insight!
Edit: yep, it's a typo - the old l vs 1
There is a typo in the first version with words, should be l instead of 1:
p1 = re.compile(r"\s+(\d+)\s+p2\s+([\d\.\+\-E]+)\s+optvl\s+([\d\.\+\-E]+)\s+ctha\s+([\d\.\+\-E]+)")
^
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 9 years ago.
Improve this question
This is the code I am trying to run :
line = "123456789"
p = 2
print line[p,p+2]
And I get the error - TypeError: string indices must be integers, not tuple. How can I use line[ , ] with variables. Any help is appreciated.
You want to use colons for slicing.
line = "123456789"
p = 2
print line[p:p+2]
That works fine.
Output:
34
line = "123456789"
p = 2
print line[p,p+2] # this is incorrect slice notation
the correct form is:
print line[p:p+2] # with a colon
look here for info on strings and string slicing