你好,我是python的初学者。我使用python3,代码有问题。我做了完全相同的,但与加法和减法,它工作得很好,但当我做除法和乘法,我得到一个错误。代码如下:
import math
division = 'division'
multiplication = 'multiplication'
class calculator:
math = input('Enter division or multiplication: ')
if math == division:
x = float(input('First number: '))
y = float(input('Second number: '))
def division(x,y):
div = x / y
print(div)
division(x / y)
elif math == multiplication:
x = int(input('First number: '))
y = int(input('Second number: '))
def multiplication(x,y):
mult = x * y
print(mult)
multiplication(x * y)
else:
print('Invalid input!')
我得到的错误是:
Traceback (most recent call last):
File "/Users/linusekman/Desktop/test1.py", line 6, in <module>
class calculator:
File "/Users/linusekman/Desktop/test1.py", line 16, in calculator
division(x / y)
TypeError: division() missing 1 required positional argument: 'y'
有什么问题吗?你知道吗
division(x / y)
和multiplication(x * y)
需要更改为division(x , y)
和multiplication(x , y)
,否则将x/y
和x*y
的解传递给函数,而不是这两个值本身。你知道吗旁注:如果您不打算使用它,并且已经在类的slope
math = input('Enter division or multiplication: ')
中重写了变量math
,那么就不应该import math
。你知道吗另一个注意事项:类结构对于您正在做的事情不是必需的,如果您想重用这段代码,请将类更改为函数。你知道吗
让我们看看你的例子(^.^)
创建名为
def division (x,y)
的函数时,说明此函数将接受两个变量。你知道吗你继续说,这个函数将打印的商,当你把x除以y(
div = x/y
和print(div)
)。你知道吗当你想调用除法函数时,你必须给它传递两个变量,它可以执行你分配给它的任务。您不需要传递它,因为1)它需要两个变量2)函数将通过传递的两个变量来完成。你知道吗
你想要
division(x, y)
而不是division(x / y)
。(乘法也是一样。)相关问题 更多 >
编程相关推荐