我试图在同一个文件中将一些代码分解成更小的子程序,使之更模块化。这是我想分解的代码:def time():
print("This program calculates the number of seconds in a given length of
time.\n")
second = 1
minute = second * 60
hour = minute * 60
day = hour * 24
week = day * 7
number1 = (eval(input("Enter a number of weeks: ")))
calc1 = number1 * week
number2 = (eval(input("Enter a number of days: ")))
calc2 = number2 * day
number3 = (eval(input("Enter a number of hours: ")))
calc3 = number3 * hour
number4 = (eval(input("Enter a number of minutes: ")))
calc4 = number4 * minute
number5 = (eval(input("Enter a number of seconds: ")))
calc5 = number5 * second
sum1 = (calc1 + calc2 + calc3 +calc4 + calc5)
print("\nIn", number1, "week(s),", number2, "day(s),", number3, "hour(s),",
number4, "minute(s), and", number5, "second(s), there are", sum1,
"second(s).")
当一切都在一起的时候,它会按照我想要的方式工作,但我想把它分为以下几部分:
^{pr2}$
目标是运行time()并让它调用count()和number(),因此time()的代码没有那么长。(我知道最初的代码没那么长,但我正在努力学习这些代码是如何工作的。)
我以前成功地调用过文件中的函数,但只有当它要打印一个字符串时,而且不涉及数学。我试着到处玩参数和返回,谷歌搜索,甚至一些咬牙切齿,但没有结果。我总是犯这样的错误:Traceback (most recent call last):
File "", line 1, in
time()
File "", line 4, in time
number()
File "", line 3, in number
calc1 = number1 * week
NameError: name 'week' is not defined
我不熟悉编程,所以我肯定我错过了一些令人恼火的简单的东西,但我还没能自己解决它,希望能得到任何帮助。在