我正在尝试定义一个函数来制作矩形的周长。这是代码:
width = input()
height = input()
def rectanglePerimeter(width, height):
return ((width + height)*2)
print(rectanglePerimeter(width, height))
我想我没有留下任何争论或类似的东西。
原文由 Chimp 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试定义一个函数来制作矩形的周长。这是代码:
width = input()
height = input()
def rectanglePerimeter(width, height):
return ((width + height)*2)
print(rectanglePerimeter(width, height))
我想我没有留下任何争论或类似的东西。
原文由 Chimp 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 try
/ except
块来消除 EOF 错误。
try:
width = input()
height = input()
def rectanglePerimeter(width, height):
return ((width + height)*2)
print(rectanglePerimeter(width, height))
except EOFError as e:
print(end="")
原文由 Saurabh Raj 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
像这样运行它会产生:
我怀疑 IDLE 只是将一个字符串传递给您的脚本。第一个
input()
了整个字符串。请注意,如果在调用input()
之后放入一些打印语句,会发生什么情况:运行
echo "1 2" | test.py
产生请注意,第一个打印语句打印了整个字符串
'1 2'
。第二次调用input()
引发EOFError
(文件结束错误)。所以一个简单的管道,比如我使用的那个,只允许你传递一个字符串。因此,您只能调用
input()
一次。然后您必须处理这个字符串,将其拆分为空格,然后自己将字符串片段转换为整数。那是什么做。
请注意,还有其他方法可以将输入传递给您的程序。如果您在终端中运行了
test.py
,那么您可以分别键入1
和2
没有问题。或者,您可以编写一个程序来模拟终端,以编程方式传递1
和2
。或者,您可以使用 argparse 在命令行上传递参数,从而允许您调用程序