Python 计算器问题
Python calculator issues
您好,我是 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'
可能是什么问题?
您想要 division(x, y)
而不是 division(x / y)
。 (乘法也是一样。)
division(x / y)
和multiplication(x * y)
需要改成division(x , y)
和multiplication(x , y)
,否则你就通过了x/y
和[=的解法15=] 到函数,而不是两个值本身。
旁注:如果您不打算使用它,则不应 import math
,并且您已经在 class 的斜率中覆盖了变量 math
,math = input('Enter division or multiplication: ')
.
另一个注意事项:class 结构对于您正在做的事情不是必需的,如果您想重用那段代码,请将 class 更改为一个函数。
让我们看看你的例子(^.^)
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) 该函数将使用传递的两个变量执行此操作。
您好,我是 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'
可能是什么问题?
您想要 division(x, y)
而不是 division(x / y)
。 (乘法也是一样。)
division(x / y)
和multiplication(x * y)
需要改成division(x , y)
和multiplication(x , y)
,否则你就通过了x/y
和[=的解法15=] 到函数,而不是两个值本身。
旁注:如果您不打算使用它,则不应 import math
,并且您已经在 class 的斜率中覆盖了变量 math
,math = input('Enter division or multiplication: ')
.
另一个注意事项:class 结构对于您正在做的事情不是必需的,如果您想重用那段代码,请将 class 更改为一个函数。
让我们看看你的例子(^.^)
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) 该函数将使用传递的两个变量执行此操作。