python - 如果是奇数则返回数字的平方,如果是偶数则返回 (number-1) 平方
问题描述
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 行,在
square = odd_square(int(input("输入平方数:")))
EOFError:读取一行时出现EOF
解决方案
如果您使用的是 Python 2.7,input
将尝试在您的字符串输入中执行代码。因此,如果您不输入任何内容,您将收到并EOF
出错。
为了防止用户随意输入的代码被执行,推荐使用raw_input
Python 2.7。(或者升级到 Python 3+ 并使用input
,因为对 Python 2.7 的支持将在几周内消失)。
即使进行了此更改,如果您不输入任何输入,您仍然会从代码中收到错误,这不会是EOF
错误。
感谢 Chris Doyle 在评论中的讨论
推荐阅读
- javascript - 是否可以通过在事件队列上放置一个长时间运行的进程来挂起 Node.js?
- google-bigquery - 按日期时间 Google BigQuery 分区
- jquery - 引导程序 4 中轮播整页图像滑块和多 div 滑块的冲突
- pivot - 在 PowerQuery 中添加附加列
- scala - 如何将库文件夹添加到 Spark 的类路径
- ruby-on-rails - 在控制器规格中提供强大的参数
- excel - 根据条件分隔部分字符串
- powershell - 在 CMD 中设置和使用 PowerShell 变量
- python - 如何从几个不同大小的不同 numpy 数组创建 CSV 文件
- objective-c - NSMutableDictionary 返回空值?(目标-C)