当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 13:08 
头像

注册: 2007-07-14 20:45
帖子: 1307
送出感谢: 68
接收感谢: 38
代码:
address = raw_input('请输入您要刷的网址:')
if address.isdigit():
   print "您输入的网址有误,程序将退出。"
   break                                                                            #问一:我的原意是如果输入的是数字,这里就中断整个程序的执行,退出。
b = int(raw_input('请输入您要刷博的次数:')) - 1
c = 0
while c <= b:
   web.open_new_tab(r'https://'+(address))
   c = c + 1
   time.sleep(1)
else:
   os.system('killall chrome')
   print ('刷博成功完成!')


可是,使用break后,这里会出现语法错误。问二:break只能中断循环吗?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 14:06 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
九天星 写道:
break #问一:我的原意是如果输入的是数字,这里就中断整个程序的执行,退出

可用 exit(), sys.exit() 或 quit()

九天星 写道:
可是,使用break后,这里会出现语法错误。问二:break只能中断循环吗?

引用:
break may only occur syntactically nested in a for or while loop, but not nested in a function or class definition within that loop.It terminates the nearest enclosing loop, skipping the optional else clause if the loop has one.

参考 https://docs.python.org/2/reference/simple_stmts.html#break


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



_________________
评价: 3.7% 九天星
 
页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 14:39 
头像

注册: 2007-07-14 20:45
帖子: 1307
送出感谢: 68
接收感谢: 38
python函数的手册有没有中文版的?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 15:02 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
九天星 写道:
python函数的手册有没有中文版的?

http://python.usyiyi.cn/
http://www.pythondoc.com/
https://python-documentation-cn.readthedocs.io/en/latest/
https://www.douban.com/group/topic/50424198/


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


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 16:17 
头像

注册: 2007-07-14 20:45
帖子: 1307
送出感谢: 68
接收感谢: 38
vickycq 写道:



哈哈,你找到很多啊。

我就不开贴了,再请教你一个问题。

代码:
address = raw_input('请输入您要刷的网址:')
if address.isdigit():
   print "您输入的网址有误,程序将退出。"
   exit()
b = raw_input('请输入您要刷博的次数:')                       #定义的变量b
if b.isdigit():
   print "刷博中,请等待。。。。。。"
else:
   print "您输入的次数非数字,程序将退出。"
   exit()
e = int(b) - 1                                            #问一:这里我对定义的这个变量e进行减法运算,如果不指定b为int类型,会报错的原因是什么?
c = 0
while c <= e:
   web.open_new_tab(r'https://'+(address))
   c = c + 1
   time.sleep(1)
else:
   os.system('killall chrome')
   print ('刷博成功完成!')



说明: e = b -1 会报错。程序似乎没将b做为一个变量引入。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 16:28 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
代码:
>>> b = raw_input('请输入您要刷博的次数:')
请输入您要刷博的次数:12
>>> b
'12'
>>> type(b)
<type 'str'>
>>> b-1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
>>>


九天星 写道:
#问一:这里我对定义的这个变量e进行减法运算,如果不指定b为int类型,会报错的原因是什么?

变量类型不符无法运算
TypeError: unsupported operand type(s) for -: 'str' and 'int'

九天星 写道:
说明: e = b -1 会报错。程序似乎没将b做为一个变量引入。

5楼代码中未见 "e = b -1" 字样


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


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如果程序要中途退出执行应该怎么办?
帖子发表于 : 2016-10-21 16:42 
头像

注册: 2007-07-14 20:45
帖子: 1307
送出感谢: 68
接收感谢: 38
vickycq 写道:
5楼代码中未见 "e = b -1" 字样






未见e = b - 1是因为有报错我改了。虽然改了,没明白是怎么回事,所以请教你的。


现在我明白了,即使输入的是数字也会被认为是str类型的。。。

谢谢你!


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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