我在python 3解释器中工作,我想用它来做作业。
首先,我有一个名为mylibrary.py
的库
from math import pi
def area_circle(r):
return(r*r*pi))
其次,我有一个名为homework.py
的脚本
from mylibrary import *
area_circle(3)
area_circle(5)
area_circle(3) + area_circle(5)
现在,我想进入python解释器并以某种方式执行脚本homework.py
,好像我已经将这些行直接输入到解释器中,我希望结果出现在屏幕上,因为解释器通常会显示它们
:
$python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exec "homework"
有这样的命令吗?我想让它读取我的脚本并在解释器中输入行,以便屏幕上显示的内容是:
>>> from mylibrary import *
>>> area_circle(3)
28.274333882308138
>>> area_circle(5)
78.53981633974483
>>> area_circle(3) + area_circle(5)
106.81415022205297
请注意,我没有Idle
,我没有iPython
,我只有从BASH提示符访问的解释器。
我知道我可以替换库中的函数来显式调用print函数,如下所示:
def area_circle(r):
a=r*r*pi
print(a)
return()
但我不希望这样,因为它会阻止我将此功能用作未来功能的构建块
所以我想我要问的是如何以最简单的方式逐行执行homework
脚本到解释器。
答案 0 :(得分:0)
如果您没有使用python提示符,则无法使用'print'显示内容....
您可以修改您的功能,因此如果给出了第二个参数,则会打印,否则不会打印:
def area_circle(r, do_print=False):
a=r*r*pi
if do_print:
print(a)
return a
此功能将在所有情况下返回该区域。如果你给它True
作为第二个参数,它也将打印它的值(area_circle(3)
不打印任何内容并返回该区域,而area_circle(3,True)
打印该区域,并返回其值)