python语法错误SyntaxError: invalidsyntax意思 syntax

http://www.cnblogs.com/smile-ls/archive//3088393.html
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。
1)忘记在&if&,&elif&,&else&,&for&,&while&,&class&,def&声明末尾添加
:(导致 “SyntaxError :invalid syntax”)
该错误将发生在类似如下代码中:
if&spam==&42
&&&&print('Hello!')
2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”)
&= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:
if&spam=&42:
&&&&print('Hello!')
3)错误的使用缩进量。(导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected
an indented block”)
记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:
print('Hello!')
&&&&print('Howdy!')
if&spam==&42:
&&&&print('Hello!')
&&print('Howdy!')
if&spam==&42:
print('Hello!')
4)在&for&循环语句中忘记调用&len()&(导致“TypeError: 'list' object cannot be interpreted as an integer”)
通常你想要通过索引来迭代一个list或者string的元素,这需要调用&range()&函数。要记得返回len&值而不是返回这个列表。
该错误发生在如下代码中:
spam=&['cat','dog','mouse']
for&iin&range(spam):
&&&&print(spam[i])
5)尝试修改string的值(导致“TypeError: 'str' object does not support item assignment”)
string是一种不可变的数据类型,该错误发生在如下代码中:
have a pet cat.'
spam[13]=&'r'
print(spam)
而你实际想要这样做:
have a pet cat.'
spam=&spam[:13]+&'r'&+&spam[14:]
print(spam)
6)尝试连接非字符串值与字符串(导致 “TypeError: Can't convert 'int' object to str implicitly”)
该错误发生在如下代码中:
numEggs=&12
have '&+&numEggs+&'
而你实际想要这样做:
numEggs=&12
have '&+&str(numEggs)+&'
numEggs=&12
have %s eggs.'&%&(numEggs))
7)在字符串首尾忘记加引号(导致“SyntaxError: EOL while scanning string literal”)
该错误发生在如下代码中:
print(Hello!')
print('Hello!)
myName=&'Al'
name is '&+&myName+&.
How are you?')
8)变量或者函数名拼写错误(导致“NameError: name 'fooba' is not defined”)
该错误发生在如下代码中:
foobar=&'Al'
name is '&+&fooba)
spam=&ruond(4.2)
spam=&Round(4.2)
9)方法名拼写错误(导致 “AttributeError: 'str' object has no attribute 'lowerr'”)
该错误发生在如下代码中:
spam=&'THIS
IS IN LOWERCASE.'
spam=&spam.lowerr()
10)引用超过list最大索引(导致“IndexError: list index out of range”)
该错误发生在如下代码中:
spam=&['cat','dog','mouse']
print(spam[6])
11)使用不存在的字典键值(导致“KeyError:‘spam’”)
该错误发生在如下代码中:
spam=&{'cat':'Zophie','dog':'Basil','mouse':'Whiskers'}
print('The
name of my pet zebra is '&+&spam['zebra'])
12)尝试使用Python关键字作为变量名(导致“SyntaxError:invalid syntax”)
Python关键不能用作变量名,该错误发生在如下代码中:
class&=&'algebra'
Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield
13)在一个定义新变量中使用增值操作符(导致“NameError: name 'foobar' is not defined”)
不要在声明变量时使用0或者空字符串作为初始值,这样使用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam需要指定一个有效的初始值。
该错误发生在如下代码中:
spam+=&42
eggs+=&42
14)在定义局部变量前在函数中使用局部变量(此时有与局部变量同名的全局变量存在)(导致“UnboundLocalError: local variable 'foobar' referenced before assignment”)
在函数中使用局部变来那个而同时又存在同名全局变量时是很复杂的,使用规则是:如果在函数中定义了任何东西,如果它只是在函数中使用那它就是局部的,反之就是全局变量。
这意味着你不能在定义它之前把它当全局变量在函数中使用。
该错误发生在如下代码中:
someVar=&42
def&myFunction():
&&&&print(someVar)
&&&&someVar=&100
myFunction()
15)尝试使用 range()创建整数列表(导致“TypeError: 'range' object does not support item assignment”)
有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式。然而,你需要记住 range() 返回的是 “range object”,而不是实际的 list 值。
该错误发生在如下代码中:
spam=&range(10)
spam[4]=&-1
也许这才是你想做:
spam=&list(range(10))
spam[4]=&-1
(注意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,但是在 Python 3 中就会产生以上错误)
16)不错在 ++ 或者 -- 自增自减操作符。(导致“SyntaxError: invalid syntax”)
如果你习惯于例如 C++ , Java , PHP 等其他的语言,也许你会想要尝试使用 ++ 或者 -- 自增自减一个变量。在Python中是没有这样的操作符的。
该错误发生在如下代码中:
spam++
也许这才是你想做的:
spam+=&1
17)忘记为方法的第一个参数添加self参数(导致“TypeError: myMethod() takes no arguments (1 given)”)
该错误发生在如下代码中:
class&Foo():
&&&&def&myMethod():
&&&&&&&&print('Hello!')
a.myMethod()
python程序运行总是有invalid syntax 错误 如何解决?
我在Notepad++里面写了一句简单的python语句,我电脑上安装的python版本是2.7版本的,按照慕课网上写出来但是打开命令提示符窗口时会出现上图所示的“invalid syntax”语法错...
执行Python程序时报错:SyntaxError: invalid syntax的解决方法
我的系统是CentOS 6.4,自带的是Python 2.6.6,今天执行一个Python程序时报错:执行Python程序SyntaxError: invalid syntax。后来发现是因为版本的问...
python中的invalid syntax问题的解决
python最不合理的地方就是空格,和自我缩紧问题。
从最简单的定义函数为例,空格和缩进着实让我头疼了好久。实例如下:
def print_lol(the_list):
for each_cl...
Centos中Python升级为3.X时yum出现except OSError, e:
^ SyntaxError: invalid syntax问题
CentOS 7升级Python到3.5。2后,需要在/usr/bin/python创建了一个指向Python
3的软连接,然后将/usr/bin/yum的顶部的:
!/usr/bin/pyth...
Python : 程序提示SyntaxError: invalid syntax错误
print &hello&   #空格是中文输入下的空格
SyntaxError: invalid syntax
原文出处:http://blog.csdn.net/u/article/details/
很多Python初学者,在安装了最新版本的...
错误原因:
系统中装有多个版本的Python,Python脚本运行的时候版本冲突。
解决办法:(以下两步都要执行)
vim /usr/libexec/urlgrabb...
(错误)SyntaxError: invalid syntax
今天使用post请求获取json数据后,用.text转换成字符串,再用.eval()转换成字典类型时,报错
File &&, line 1
python新手常见的报错提示
python新手常见的报错提示
在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题(Python是面向对象语言,所以程序抛出的异常也是类)。能很好...
Python新手错误自查
Python新手常犯的错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。
1)忘记...
没有更多推荐了,SyntaxError: invalid syntax - Python 3.5 - Stack Overflow
to customize your list.
This site uses cookies to deliver our services and to show you relevant ads and job listings.
By using our site, you acknowledge that you have read and understand our , , and our .
Your use of Stack Overflow’s Products and Services, including the Stack Overflow Network, is subject to these policies and terms.
Join Stack Overflow to learn, share knowledge, and build your career.
or sign in with
I have a small code in Python, which looks like that:
import sys
def _158a():
n, k = map(int, sys.stdin.readline().split())
data = input().split()
for i in range(n):
a.append(int(data[i]))
for i in range(n):
if a[i]&=a[k-1] and a[i]:
return ans
res = _158a()
print(res)
with input from keyboard:
When i run code with above input, i got an error:
Traceback (most recent call last):
File "/Users/tranhieu/Desktop/Python/158A.py", line 14, in &module&
res = _158a()
File "/Users/tranhieu/Desktop/Python/158A.py", line 4, in _158a
data = input().split()
File "&string&", line 1
SyntaxError: invalid syntax
Process finished with exit code 1
Can you help me fix this bug?
66.8k20136215
closed as off-topic by , , , , ♦
This question appears to be off-topic. The users who voted to close gave this specific reason:&This question was caused by a problem that can no longer be reproduced or a simple typographical error. While similar questions may be on-topic here, this one was resolved in a manner unlikely to help future readers. This can often be avoided by identifying and closely inspecting
before posting.& & Morgan Thrapp, Chad S., Trilarion, Kevin Guan, Ed Cottrell If this question can be reworded to fit the rules in the , please .
You should use raw_input() instead of input(), since in Python 2.x input() tries to parse the input. In Python 3.x input() just returns a string like raw_input() in Python 2.x.
226k25211305
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabled请教:python3.2运行错误:SyntaxError: invalid syntax_python吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:194,544贴子:
请教:python3.2运行错误:SyntaxError: invalid syntax收藏
已经在UltraEdit中,把编码方式改为utf-8运行的代码在下面:# -*- coding: utf-8 -*-from visual import *display(title=u&坐标轴&. encode(&gb2312&), width=300, height=300)arrow(pos=(1, 0, 0), axis=(1, 0, 0), color=(1, 0, 0))arrow(pos=(0, 1, 0), axis=(0, 1, 0), color=(0, 1, 0))arrow(pos=(0, 0, 1), axis=(0, 0, 1), color=(0, 0, 1))
汉字编码 就不要玩python2 那一套了。
贴出全部代码
的还有完整报错信息。
错误信息File &visual1.py&, line 3
display(title=u&坐标轴&. encode(&gb2312&), width=300, height=300)
^SyntaxError: invalid syntax
登录百度帐号python 程序运行总是有invalid syntax 错误
[问题点数:40分]
本版专家分:0
结帖率 96%
CSDN今日推荐
本版专家分:240
本版专家分:448
本版专家分:728
本版专家分:0
本版专家分:413
本版专家分:41
本版专家分:313
2009年8月 PHP大版内专家分月排行榜第一2007年6月 PHP大版内专家分月排行榜第一2007年2月 PHP大版内专家分月排行榜第一
2009年10月 PHP大版内专家分月排行榜第二2009年9月 PHP大版内专家分月排行榜第二2009年7月 PHP大版内专家分月排行榜第二2008年1月 PHP大版内专家分月排行榜第二2007年8月 PHP大版内专家分月排行榜第二2007年5月 PHP大版内专家分月排行榜第二2007年3月 PHP大版内专家分月排行榜第二
2009年11月 PHP大版内专家分月排行榜第三2007年7月 PHP大版内专家分月排行榜第三2007年4月 PHP大版内专家分月排行榜第三2007年1月 PHP大版内专家分月排行榜第三
本版专家分:25
本版专家分:0
本版专家分:15
本版专家分:0
本版专家分:0
本版专家分:20
本版专家分:430
2018年4月 硬件/嵌入开发大版内专家分月排行榜第一
本版专家分:205
本版专家分:50
2017年5月 Linux/Unix社区大版内专家分月排行榜第一
2015年9月 Linux/Unix社区大版内专家分月排行榜第二
匿名用户不能发表回复!
其他相关推荐原文出处:http://blog.csdn.net/u/article/details/
很多初学者,在安装了最新版本的Python 3.x版本,比如Python 3.2之后,
去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误:
SyntaxError: invalid syntax
比如,虽然找个例子的截图为:
这是因为,你正在用的Python版本是Python 3.x,而参考别人的代码是Python 2.x的代码,而由于Python 2.x升级到Python 3.x,print函数的语法变化了,
所以你用Python 2.x的print函数的代码,放在Python 3.x中运行,结果就出现了print函数的“SyntaxError: invalid syntax”了。
即,这也是Python初学者,第一个最容易遇到的问题:
在安装了(最新版本的)Python
3.x后,去运行(参考了别人的)Python 2.x的print函数的代码,结果就是遇到了print函数的语法错误:SyntaxError: invalid syntax
【Python 2.x和Python 3.x中print函数语法方面的区别】
最简洁的解释为:
Python 2.x: print函数(所要打印的内容)不带括号
Python 3.x: print函数(所要打印的内容),必须带括号
举例来说明,即为:
1.不带百分号格式化的
python 2.x:
print"Pyhon
2 can use print string without ()";
python 3.x:
print("Python3,
print must use () to output string");
2. 带百分号格式化的
Python 2.x:
%s version is %d, print no ()"%("Python",2);
Python 3.x:
print("new
%s version is %d, print must have ()"%("Python",3));
正因为此问题,是Python初学者,最常遇到的问题。所以,才单独拎出来,特别说明一下的。
而关于Python 2.x和Python 3.x的更多的区别,不熟悉的,可以参考:
python程序运行总是有invalid syntax 错误 如何解决?
我在Notepad++里面写了一句简单的python语句,我电脑上安装的python版本是2.7版本的,按照慕课网上写出来但是打开命令提示符窗口时会出现上图所示的“invalid syntax”语法错...
关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因
关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因
很多Python初学者,在安装了...
Python——Print函数的Invalid syntax错误
最近学习Tensorflow,成功地完成了第一个例子——基于一个模拟数据集,训练一个神经网络来完成一个简单的二分类问题。但是在编写程序的过程中,还是遇到这个小问题,查阅了一下还是挺常见的,...
Python 3.x中使用print函数出现语法错误(SyntaxError: invalid syntax)的原因
在安装了最新版本的Python 3.x版本之后,去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误:SyntaxError:...
Python 3.2.3 print 出现SyntaxError: invalid syntax
原文转自 http://blog.csdn.net/ei__nino/article/details/8156628
很简单,不知道为啥,据说是3.0以后的print都改为了print();
invalid syntax 就是语法错误
常见的场景:
1、在使用筛选是使用等号:例如data['car']==2data[‘car’]==2写成data['car']=2...
由上图错误可知不能把Python2.x中的print拿来直接用,应使用的Python3.x中的print()函数...
python2.7 print不换行输出
from __future__ import print_function
for x in [1, 2, 3, 4]: print(x**2, end=' ')
如何在Python2中实现 print(&String&,end=&&)
在Python3中,可以通过 print(&\t&,end=&&) 实现输出制表符不换行的效果
但是在Python2中,这条语句会报语法错误,为了实现相同的效果,只需要修改代码为
print &\...
Python学习之:打印输出同一行
要print始终显示在同一行,本身是在最后加上逗号即可,即:
print '*****',
然后又想要实现,新打印的一行,冲掉之前旧的一行,达到显示出下载文件大小一点点增加,但是却始终保持...
没有更多推荐了,

我要回帖

更多关于 invalidswitch 的文章

 

随机推荐