你好我是python的初学者。我使用python 3并且我的代码有问题。我做了完全相同,但加法和减法,它工作正常,但当我用除法和乘法我做了一个错误。这是代码:
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'
问题是什么?
答案 0 :(得分:4)
division(x / y)
和multiplication(x * y)
需要更改为division(x , y)
和multiplication(x , y)
,否则您将通过x/y
和{{的解决方案1}}到函数,而不是两个值本身。
附注:如果你没有使用它,那么你不应该x*y
,并且你已经在你班级的坡度上覆盖了变量import math
{ {1}}。
另一个注意事项:如果你想重用那段代码,将类更改为一个函数,那么类结构对于你正在做的事情是不必要的。
答案 1 :(得分:1)
您希望division(x / y)
代替add $t0, $zero, $zero
addi $a0, $zero, 21
loop:
beq $a0, $zero, end
add $t0, $t0, $a0
addi $a0, $a0, -3
j loop
end
。 (乘法也是一样。)
答案 2 :(得分:0)
让我们看看你的例子(^。^)
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) <-(pay attention to this line!)
当您创建名为def division (x,y)
的函数时,您声明此函数将接受两个变量。
接着说,当您将 x 除以 y (div = x/y
和print(div)
)时,此函数将打印商。
如果要调用除法函数,则必须将两个变量传递给它,以便执行您指定的任务。你没有传递它x/y
,因为1)它需要两个变量2)函数将通过传递的两个变量。