我正在尝试使用Python 2.7执行以上代码。我得到EOFError
。
def perfectNumberCheck(num):
sum = 0
for i in range(1, num):
if num % i == 0:
sum = sum + i
if sum == num:
print('1')
else:
print('0')
num = int(raw_input('come on dude:'))
perfectNumberCheck(num)
我在Python 3中没有问题,但需要在Python 2中提交作业。
答案 0 :(得分:0)
当您的操作系统在后台自动调用脚本时,脚本中没有STDIN,因此它接收到意外的文件结尾(因为从技术上来说,stdin = / dev / null总是给出eof) 。 如here所述,您可以尝试以下部分:
import sys
for line in sys.stdin:
print line
sys.stdin = open('CON', 'r')
num = raw_input("come on dude:")
perectNumberCheck(num)