重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
while(scanf()!=EOF)的作用是,当scanf返回EOF时退出循环读取输入的操作。
十多年的宁安网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整宁安建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“宁安网站设计”,“宁安网站推广”以来,每个客户项目都认真落实执行。
也就是当遇到文件结尾,如果用作标准输入时就是当在终端输入了EOF时结束操作。
对于此,python并没有相同功能的系统函数而是需要由自己判断。
while True:
try:
s = raw_input()
except:
break
代码解析:
while True:
s = raw_input()
这个就相当于C的while(1)scanf();
也就是不停的读输入,没有判断EOF的情况。
在python中,无法通过raw_input()的返回值判断是否有EOF。python是通过抓取异常来知EOF的,于是,通过try except的方法,当出现except的时候,就是到了EOF,这时退出循环,也就是
except:
break
这样就达到了和C中同样的效果。
一般情况下,我们是这么读文件的:
for line in open("xxx"):
print line
但是有时候,我们想自己控制读取每一行,即open得到fp后,readline(),何时是退出呢?
经过查找N多文档,得到一种很隐晦的说法是当返回空串时表示退出。
于是写法是:
fp = ....
while True:
line = fp.readline()
if len(line)==0:
break
#.....
Do what you want
其实,可以不用len判断,而用not判断。Python中,空串的not返回True,即not line时为读到EOF,如下:
fp = ....
while True:
line = fp.readline()
if not line:
break
#.....
Do what you want
意思是没有验证函数参数是否有效
1、可能是语法问题,需要自己检查代码
2、可能是用python2.7来运行python3.0的代码不兼容
解决示范:
比如代码:
错误类型为
File "C:/Users/googol/PycharmProjects/untitled/shopping.py", line 5
^
SyntaxError: unexpected EOF while parsing
Process finished with exit code 1
解决:因为写的代码构成了无限循环,所以报错,解决即为添加结束条件。
拓展资料:
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。