当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : python小游戏报错!
帖子发表于 : 2016-10-14 20:53 
头像

注册: 2007-07-14 20:45
帖子: 1135
送出感谢: 60
接收感谢: 32
代码:
#!/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 "过小"


这个小游戏在运行的时候提示第十三行语法错误,可反复核查,没找到问题在哪,请教!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 21:15 
头像

注册: 2011-03-20 13:12
帖子: 4551
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
第 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/


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
3 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 21:26 
头像

注册: 2007-07-14 20:45
帖子: 1135
送出感谢: 60
接收感谢: 32
vickycq 写道:
第 12 行括号不匹配,导致解释器认为从 13 行到末行都是第 12 行的延续。另有其它问题,详述如下
代码:
$ pep8 guess.py

参考 https://www.python.org/dev/peps/pep-0008/


12行最后面少了半个括号。 :Shame :Shame :Shame

我看到你的测试报错信息也没提到括号啊,PEP8是用来测试py的么?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 21:31 
头像

注册: 2007-07-14 20:45
帖子: 1135
送出感谢: 60
接收感谢: 32
为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?


页首
 用户资料  
 
5 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 22:05 
头像

注册: 2008-09-18 13:11
帖子: 2797
送出感谢: 1
接收感谢: 456
九天星 写道:
为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?

谁说的?从776行到第1行都有可能出问题


页首
 用户资料  
 
6 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 22:56 
头像

注册: 2007-07-14 20:45
帖子: 1135
送出感谢: 60
接收感谢: 32
astolia 写道:
九天星 写道:
为何提示是13行呢?那以后的提示中如果是776行,是不是就要在775行找问题?

谁说的?从776行到第1行都有可能出问题


呵呵,没有谁说,是我个人这么理解的。

你回答了我才知道我理解的不对。。。。

我知道了,下次就按你教的方法,在小于等于报错行找。。。。谢谢你的解答!好梦!


页首
 用户资料  
 
7 楼 
 文章标题 : Re: python小游戏报错!
帖子发表于 : 2016-10-14 23:26 
头像

注册: 2011-03-20 13:12
帖子: 4551
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
九天星 写道:
为何提示是13行呢?

第12行括号不匹配只会让解释器以为第12行未结束
类似案例 http://bugs.python.org/issue16917

九天星 写道:
测试报错信息也没提到括号啊

pep8 仅用来检测代码是否符合 pep8 规范。python 解释器亦不具备提示“括号不匹配”的功能。
参考 https://mail.python.org/pipermail/python-ideas/2015-July/034518.html

九天星 写道:
PEP8是用来测试py的么?

用来检查代码是否符合 pep8 规范。建议阅读下文参考链接
参考 https://www.python.org/dev/peps/pep-0008/

九天星 写道:
那以后的提示中如果是776行,是不是就要在775行找问题?

在某些情况下的确是这样。


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译