On Jun 12, 11:28 am, Chris Rebert <c...@rebertia.com> wrote: > On Thu, Jun 11, 2009 at 11:17 PM, Prasoon<prasoonthegr...@gmail.com> wrote: > > I am new to python.... > > I have written the following program in python.It is the solution of > > problem ETF in SPOJ..... > > > #Euler Totient Function > > > from math import sqrt > > def etf(n): > > i,res =2,n > > while(i*i<=n): > > if(n%i==0): > > res-=res/i > > while(n%i==0): > > n/=i > > i+=1 > > if(n>1): > > res-=res/n > > return res > > > def main(): > > t=input() > > while(t): > > x=input() > > print str(etf(x)) > > t-=1 > > > if __name__ == "__main__": > > main() > > > The problem with my code is that whenever I press an extra "Enter" > > button instead of getting the cursor moved to the next line.....I get > > an error > > > _SyntaxError- EOF while parsing and the program terminates.........._ > > > How should the code be modified so that even after pressing an extra > > "Enter" button the cursor get moved to the next line instead to > > throwing an exception...... > > Use raw_input() instead of input() [at least until you switch to Python 3.x]. > input() does an implicit eval() of the keyboard input, which is (in > part) causing your problem. > Note that you'll need to explicitly convert the string raw_input() > reads in using either int() or float() as appropriate. > > Still, you can't just enter extra lines and expect the program to > automatically ignore them. You'll have to write the extra code > yourself to handle empty input from the user. > > Cheers, > Chris > --http://blog.rebertia.com
I am using Python 2.6 I have modified that code def main(): t=int(raw_input()) while(t): x=input() print str(etf(x)) t-=1 what should i do to handle new line and space...... We used to get spaces and newline in C using their ASCII values ...can similar things be done here??? Please write the code snippet(by modifying my code) from which i can understand something......!!!!! -- http://mail.python.org/mailman/listinfo/python-list