以下是我正在使用的代码。我正在使用两组代码。当我将代码组合到一个程序中时,它按照预期的方式工作。当我尝试导入“arithemtics”模块时,它不会定义变量。我花了很多时间试图解决这个问题,我担心这是非常简单的事情
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
total(num1,num2)
difference(num1,num2)
product(num1,num2)
quotient(num1,num2)
main()
这是“算术”输入模块
def total(num1,num2):
total = num1 + num2
print(format(total, ',.1f'))
def difference(num1,num2):
difference = num1 % num2
print(format(difference, ',.1f'))
def product(num1,num2):
product = num1 * num2
print(product)
def quotient(num1,num2):
quotient = num1 / num2
print(quotient)
答案 0 :(得分:1)
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
arithmetics.total(num1,num2)
arithmetics.difference(num1,num2)
arithmetics.product(num1,num2)
arithmetics.quotient(num1,num2)
main()
这是因为函数在arithmetics
模块中,只是通过执行import arithmetics
无法全局访问,arithmetics
中的函数需要使用模块名称调用,后跟函数名称如arithmetics.<function>
。
或者你可以这样做:
from arithmetics import *
这会将arithmetics
中的所有函数导入到脚本范围内,就好像它们是在脚本本身中定义的一样。
请注意,执行from x import *
(在这种情况下尤其是明星)并不是最优雅或最有效的处理方式,如果可能的话,尝试仅从库中导入所需的功能(在您的情况下为star会工作,因为你无论如何都要使用所有函数,但是其他库可能很大,你可能不需要所有的函数。)
要做到这一点,你可以这样做:
from arithmetics import total, difference, product, quotient
答案 1 :(得分:1)
如果您使用
import arithmetics
您需要限定像这样的函数名称
arithmetics.total
arithmetics.difference
arithmetics.product
arithmetics.quotient
可选地
from arithmetics import total, difference, product, quotient
然后名称可以在模块中正常使用
第三种选择
from arithmetics import *
不鼓励,因为它不明确,当有人为arithmetics
添加更多可能导致冲突的名称时,可能会导致神秘破损