分页: 1 / 1
python小游戏报错!
发表于 : 2016-10-14 20:53
由 九天星
代码: 全选
#!/usr/bin/python
# coding: utf-8
import random
while(1):
enter = raw_input("输入 s(开始游戏)/q(退出游戏):")
if(enter == "q"):
print "退出游戏"
break
elif(enter == "s"):
val = random.randint(0,100)
while(1):
num = int(raw_input("输入(0~100)之间的数字:")
if(num == val):
print "你猜中了,真棒!\n 继续游戏"
break
elif(num > val):
print "过大"
else:
print "过小"
这个小游戏在运行的时候提示第十三行语法错误,可反复核查,没找到问题在哪,请教!
Re: python小游戏报错!
发表于 : 2016-10-14 21:15
由 vickycq
第 12 行括号不匹配,导致解释器认为从 13 行到末行都是第 12 行的延续。另有其它问题,详述如下
代码: 全选
$ pep8 guess.py
guess.py:5:4: E111 indentation is not a multiple of four
guess.py:6:4: E111 indentation is not a multiple of four
guess.py:7:7: E111 indentation is not a multiple of four
guess.py:8:7: E111 indentation is not a multiple of four
guess.py:9:4: E111 indentation is not a multiple of four
guess.py:10:7: E111 indentation is not a multiple of four
guess.py:10:29: E231 missing whitespace after ','
guess.py:11:7: E111 indentation is not a multiple of four
guess.py:12:10: E111 indentation is not a multiple of four
guess.py:13:10: E128 continuation line under-indented for visual indent
guess.py:16:10: E122 continuation line missing indentation or outdented
guess.py:18:10: E122 continuation line missing indentation or outdented
guess.py:20:1: E901 TokenError: EOF in multi-line statement
参考
https://www.python.org/dev/peps/pep-0008/
Re: python小游戏报错!
发表于 : 2016-10-14 21:26
由 九天星
12行最后面少了半个括号。
我看到你的测试报错信息也没提到括号啊,PEP8是用来测试py的么?
Re: python小游戏报错!
发表于 : 2016-10-14 21:31
由 九天星
为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?
Re: python小游戏报错!
发表于 : 2016-10-14 22:05
由 astolia
九天星 写了:为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?
谁说的?从776行到第1行都有可能出问题
Re: python小游戏报错!
发表于 : 2016-10-14 22:56
由 九天星
astolia 写了:九天星 写了:为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?
谁说的?从776行到第1行都有可能出问题
呵呵,没有谁说,是我个人这么理解的。
你回答了我才知道我理解的不对。。。。
我知道了,下次就按你教的方法,在小于等于报错行找。。。。谢谢你的解答!好梦!
Re: python小游戏报错!
发表于 : 2016-10-14 23:26
由 vickycq
九天星 写了:为何提示是13行呢?
第12行括号不匹配只会让解释器以为第12行未结束
类似案例
http://bugs.python.org/issue16917
九天星 写了:测试报错信息也没提到括号啊
pep8 仅用来检测代码是否符合 pep8 规范。python 解释器亦不具备提示“括号不匹配”的功能。
参考
https://mail.python.org/pipermail/pytho ... 34518.html
九天星 写了:PEP8是用来测试py的么?
用来检查代码是否符合 pep8 规范。建议阅读下文参考链接
参考
https://www.python.org/dev/peps/pep-0008/
九天星 写了:那以后的提示中如果是776行,是不是就要在775行找问题?
在某些情况下的确是这样。