20200617 有关哨兵值在输入输出重定向里的问题

大家先看这个程序,其实很普通,就是一个利用哨兵机制来控制循环的python程序。今天重学第5章5.2.6中输入输出重定向里。有这样一个方法。就是调用存储有数据的TXT文件给程序来运行。
data = eval(input("Enter an integer (the input ends if it is 0): "))

sum = 0
while data != 0:
sum += data

data = eval(input("Enter an integer (the input ends if it is 0): "))

print("The sum is", sum)


比如我实现保存一个TXT文件input.txt
里面输入
1
2
34
4
5
6
6
1
2
总之很多吧。然后我就输出了。方法也很简单。
我是WIN7
就CMD
进入DOS模式
然后python 05-05.py < input.txt
结果出现了
所谓的EOFError: EOF when reading a line
我不解,因为在pycharm上运行很完美呀。我还修改了几次input.txt里的内容
但是故障依旧。后来我想起来了这个程序是为了演示哨兵值的呀。对呀。是不是结尾的地方。我没有填这个程序的哨兵值0?
我重新修改了input.txt里的结尾加一个0
再次运行,成功了。这个其实没什么,只是一次学习中的偶遇。但对我来说是第2次看一个不懂的章节里,得到的进步。非常感谢大家,谢谢阅读

原文地址:https://www.cnblogs.com/yogaMan/p/13150490.html