EOFError:读取一行时出现EOF

2023-12-06

我正在尝试定义一个函数来制作矩形的周长。这是代码:

width = input()
height = input()
def rectanglePerimeter(width, height):
   return ((width + height)*2)
print(rectanglePerimeter(width, height))

我想我没有留下任何争论或类似的东西。


width, height = map(int, input().split())
def rectanglePerimeter(width, height):
   return ((width + height)*2)
print(rectanglePerimeter(width, height))

像这样运行它会产生:

% echo "1 2" | test.py
6

我怀疑 IDLE 只是将单个字符串传递给您的脚本。首先input()正在吞食整个字符串。请注意,如果您在调用之后添加一些打印语句,会发生什么情况input():

width = input()
print(width)
height = input()
print(height)

Running echo "1 2" | test.py产生

1 2
Traceback (most recent call last):
  File "/home/unutbu/pybin/test.py", line 5, in <module>
    height = input()
EOFError: EOF when reading a line

请注意,第一个 print 语句打印整个字符串'1 2'。第二次致电input()提出了EOFError(文件结尾错误)。

因此,一个简单的管道(例如我使用的管道)仅允许您传递一根字符串。因此你只能调用input()一次。然后,您必须处理该字符串,将其拆分为空格,并自行将字符串片段转换为整数。就是这样

width, height = map(int, input().split())

does.

请注意,还有其他方法可以将输入传递给程序。如果你跑了test.py在终端中,那么你可以输入1 and 2分开没有问题。或者,您可以编写一个程序pexpect模拟终端,传递1 and 2以编程方式。或者,你可以使用argparse在命令行上传递参数,允许您使用以下命令调用程序

test.py 1 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EOFError:读取一行时出现EOF 的相关文章

随机推荐

  • 查找内存最后被释放的位置?

    非常一般 当发生访问冲突时 是否有一种简单的方法可以判断哪一行代码最后释放了内存块 不太一般 我对探查器的理解是它们会覆盖分配和释放过程 如果这是真的 他们是否会碰巧存储最后释放一段内存的代码行 以便当它稍后因访问冲突而崩溃时 您知道最后释
  • 无法加载默认凭据? (Node.js Google 计算引擎教程)

    情况 我按照这个教程 https cloud google com nodejs tutorials bookshelf on compute engine 一切正常 直到我这样做npm start并转到 http 本地主机 8080 我在
  • UITextField 的初始 iPhone 虚拟键盘显示速度很慢。是否需要这种破解?

    我有一个带有 UITextField 的应用程序 等等 当用户第一次点击文本字段时 在虚拟键盘出现之前有明显的延迟 在 3GS 上 延迟不太明显 但在较旧的 iPhone 上 延迟可能约为 1 秒 之后键盘总是立即弹出 延迟只是应用程序启动
  • 当图像接近边缘时,9 块阴影消失

    我正在使用 9 patch 为盒子生成阴影 如果图像宽度为 280dp 距框边缘 20dp 我会得到很好的阴影 315 度 但是 如果我让图像接触框边缘 右边缘的阴影几乎消失 这是我的布局
  • 需要根据 T-SQL 中准入日期列计算出的第一个“3 个月”,为列中的每个值添加 3 个月

    我有 14K 记录表 如下所示 与一个特定 client id 1002 相关的数据示例 我的日期格式是 mm dd yyyy 月份在前 ClientsEpisodes client id adm date disch date 1002
  • Android Fragment 生命周期问题(onActivityResult 上的 NullPointerException)

    我遇到一个问题 我找不到任何解释 我有一个使用 TabManager 显示片段的 FragmentActivity 如下所示 public class WorkOrderFormTabFragmentActivity extends Fra
  • django 更改默认运行服务器端口

    我想设置默认端口manage py runserver侦听无关的指定内容config ini 有没有比解析更简单的修复方法sys argv inside manage py并插入配置的端口 目标是跑 manage py runserver不
  • Wamp 服务器:更改 apache 的 httpd.conf?

    我正在尝试解决我的错误 我无法从服务器连接到我的 Android 应用程序 所有来源都将我引向以下教程作为解决方案 我已成功完成本教程中的所有步骤 除了 编辑Wamp服务器的httpd conf文件 IE 该教程说明了以下内容 4 在htt
  • 如何杀死 goroutine? [复制]

    这个问题在这里已经有答案了 我想知道如何杀死 停止 goroutine 所有示例都基于通道和选择 这似乎只有在 goroutine 包含一些可以在通道上监听的重复任务时才有效 有没有办法在下面的 goroutine 返回之前停止它 pack
  • 使用认知登录而不是证书来验证和订阅 aws IoT MQTT 主题?

    我是 AWS 的新手 我正在尝试弄清楚我的用例是否可行 我想创建一个移动应用程序 用户可以登录 电子邮件 facebook google 等 然后订阅 aws IoT 上的一些 MQTT 主题 以接收园艺系统的实时传感器数据 AWS 上有很
  • 使用循环提取一系列整数

    我有一些数据想要提取整数出现的频率 这是一些示例数据 df lt read table header T text A B C D 1 1 5 3 1 2 1 2 3 2 3 2 3 5 3 4 1 4 5 3 5 3 1 4 2 6 5
  • PostgreSQL 逻辑复制在 CREATE SUBSCRIPTION 上挂起

    我在 PostgreSQL 逻辑复制版本 15 上遇到问题 我也在 v10 和 v12 上进行了测试 但遇到了同样的问题 它需要复制来进行测试 因此源数据库和目标数据库位于同一服务器上 在我设置的配置文件中 postgresql conf
  • 在两个用户控件和主窗体之间传递对象

    因此 我有一个用作导航栏的主窗体和两个显示一些控件的用户控件 In UserControlsA我有一些字段需要填写 使用这些数据 我创建了一个包含一些信息的对象 我需要将该对象传递给UserControlsB所以我可以在那里显示一些数据 我
  • 正则表达式是测试 url 的好方法吗

    我正在尝试测试使用 php5 输入的 url 的有效性 我想过使用正则表达式 但假设它始终正常工作 它只能解决 url 在语法上有效的问题 它没有告诉我有关网址正确或有效的任何信息 如果可能的话 我正在尝试寻找另一种解决方案来同时完成这两件
  • 带参数改造post请求

    我正在使用邮递员扩展来发送请求 我想对 android 提出同样的请求 我使用改造库来实现我的目标 但我无法获得成功的结果 我的代码错误在哪里 Postman 我的界面 public interface Interfacem FormUrl
  • 项目控件将其自身从容器控件中删除

    有一个容器控件 TScrollBox 它是多个项目控件的父控件 每个项目控件本身都是复合的 包含 父级和拥有 一个删除按钮 按下该按钮将启动项目控件的删除 删除涉及释放组件 因此实际操作应该与该项目无关 问题是 最好的方法是什么 我实际上知
  • OCaml 与非常量的模式匹配

    是否可以对变量而不是常量值进行模式匹配 let x 2 in let y 5 in match 2 with x gt foo y gt bar gt baz let y 5 in Warning 26 unused variable y
  • 如何在导出xml中添加DOCTYPE?

    我使用 PHP 导出了一个 xml 文件 xmldoc new DOMDocument xmldoc gt formatOutput true xmldoc gt encoding Shift JIS create root nodes r
  • 与Subject在组件之间共享数据

    我正在尝试在 Angular 6 中的两个组件之间与主题共享数据 不知怎的 它不起作用 我不知道为什么 我需要通过单击将数据从compare component 传递到profile component 当我点击时 数据没有传递 但不知怎的
  • EOFError:读取一行时出现EOF

    我正在尝试定义一个函数来制作矩形的周长 这是代码 width input height input def rectanglePerimeter width height return width height 2 print rectan