def odd_square(number):
if number == 0:
return 0
elif number % 2 == 1:
return number*number
else:
return (number - 1)*(number - 1)
square = odd_square(int(input("Enter number to square: ")))
print("square is: ",square)
输出应该类似于输入为7的函数应返回49,而输入为6的函数应返回25。但是存在EOF行错误。 Python版本3.8.0
错误:
输入数字以平方:
错误
追踪(最近通话):
文件“ tester。python3”,第9行,在
平方=奇数平方(int(input(“输入要平方的数字:”)))
EOFError:读取行时出现EOF
如果使用的是Python 2.7,input
将尝试在字符串输入中执行代码。因此,如果您不输入任何内容,则会收到EOF
错误。
为了防止用户执行随机输入的代码,对于Python 2.7,建议使用raw_input
。 (或升级到Python 3+,并使用input
,因为在几周后将不再支持Python 2.7。
即使进行了此更改,如果不输入任何内容,您仍然会从代码中收到错误,这不会是EOF
错误。
感谢克里斯·道尔(Chris Doyle)在评论中的讨论