Python3-为什么我的简单程序不能对输入做任何事情?
我刚开始学习Python 3。所以我学了一些基础知识,试着自己写一些东西。这是一个小计算,但在用户完成输入后,什么都没有发生,它只是结束。对不起,如果这是一个非常愚蠢的问题。提前谢谢Python3-为什么我的简单程序不能对输入做任何事情?,python,python-3.x,calculator,Python,Python 3.x,Calculator,我刚开始学习Python 3。所以我学了一些基础知识,试着自己写一些东西。这是一个小计算,但在用户完成输入后,什么都没有发生,它只是结束。对不起,如果这是一个非常愚蠢的问题。提前谢谢 print("Welcome") n1 = float(input("Please insert a number")) o1 = input("Please insert the operator(+,-,*,/)") n2 = float(input("Please insert another number"
print("Welcome")
n1 = float(input("Please insert a number"))
o1 = input("Please insert the operator(+,-,*,/)")
n2 = float(input("Please insert another number"))
def mult(x, y):
z = x * y
return z
def addi(x, y):
z = x + y
return z
def subi(x, y):
z = x - y
return z
def divi(x, y):
if x == 0 or y == 0:
print("Cant divide 0")
elif x == 0 and y == 0:
print("Cant divide 0")
else:
z = x / y
return z
if o1 == "+":
addi(n1, n2)
elif o1 == "-":
subi(n1, n2)
elif o1 == "*":
mult(n1, n2)
elif o1 == "/":
divi(n1, n2)
else:
print("Wrong Operator!")
编辑:多亏了你们,我修好了它,它工作了。再次感谢 您正在进行计算,但没有输出它们:
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
注意:divi
函数中有错误,请改用此函数:
def divi(x, y):
if y == 0:
print("Cant divide by 0")
else:
z = x / y
return z
+您只需返回结果,无需将其存储在变量中:
def mult(x, y):
return x * y
def addi(x, y):
return x + y
def subi(x, y):
return x - y
def divi(x, y):
if y == 0:
print("Cant divide by 0")
else:
return x / y
您正在进行计算,但没有输出它们:
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
注意:divi
函数中有错误,请改用此函数:
def divi(x, y):
if y == 0:
print("Cant divide by 0")
else:
z = x / y
return z
+您只需返回结果,无需将其存储在变量中:
def mult(x, y):
return x * y
def addi(x, y):
return x + y
def subi(x, y):
return x - y
def divi(x, y):
if y == 0:
print("Cant divide by 0")
else:
return x / y
它工作得非常完美,可能是因为您只想打印结果 添加打印
print("Welcome")
n1 = float(input("Please insert a number"))
o1 = input("Please insert the operator(+,-,*,/)")
n2 = float(input("Please insert another number"))
def mult(x, y):
z = x * y
return z
def addi(x, y):
z = x + y
return z
def subi(x, y):
z = x - y
return z
def divi(x, y):
if x == 0 or y == 0:
print("Cant divide 0")
elif x == 0 and y == 0:
print("Cant divide 0")
else:
z = x / y
return z
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
输出
欢迎光临
Please insert a number34
Please insert the operator(+,-,*,/)+
Please insert another number23
57.0
它工作得非常完美,可能是因为您只想打印结果 添加打印
print("Welcome")
n1 = float(input("Please insert a number"))
o1 = input("Please insert the operator(+,-,*,/)")
n2 = float(input("Please insert another number"))
def mult(x, y):
z = x * y
return z
def addi(x, y):
z = x + y
return z
def subi(x, y):
z = x - y
return z
def divi(x, y):
if x == 0 or y == 0:
print("Cant divide 0")
elif x == 0 and y == 0:
print("Cant divide 0")
else:
z = x / y
return z
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
输出
欢迎光临
Please insert a number34
Please insert the operator(+,-,*,/)+
Please insert another number23
57.0
您可以计算运算结果,但无论如何都要使用它-这样它就不会改变程序状态(例如,不写入标准输出) 见下一页:
if o1 == "+":
addi(n1, n2) # addi return value not used
elif o1 == "-":
subi(n1, n2) # subi return value not used
elif o1 == "*":
mult(n1, n2) # mult return value not used
elif o1 == "/":
divi(n1, n2) # divi return value not used
else:
print("Wrong Operator!")
如您所见-返回未使用的值
让我们看看函数
def mult(x, y):
z = x * y
return z
def addi(x, y):
z = x + y
return z
def subi(x, y):
z = x - y
return z
def divi(x, y):
if x == 0 or y == 0:
print("Cant divide 0")
elif x == 0 and y == 0:
print("Cant divide 0")
else:
z = x / y
return z
它只是返回值,但无论如何都不会输出
因此,您需要打印返回值。例如:
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
您可以计算运算结果,但无论如何都要使用它-这样它就不会改变程序状态(例如,不写入标准输出) 见下一页:
if o1 == "+":
addi(n1, n2) # addi return value not used
elif o1 == "-":
subi(n1, n2) # subi return value not used
elif o1 == "*":
mult(n1, n2) # mult return value not used
elif o1 == "/":
divi(n1, n2) # divi return value not used
else:
print("Wrong Operator!")
如您所见-返回未使用的值
让我们看看函数
def mult(x, y):
z = x * y
return z
def addi(x, y):
z = x + y
return z
def subi(x, y):
z = x - y
return z
def divi(x, y):
if x == 0 or y == 0:
print("Cant divide 0")
elif x == 0 and y == 0:
print("Cant divide 0")
else:
z = x / y
return z
它只是返回值,但无论如何都不会输出
因此,您需要打印返回值。例如:
if o1 == "+":
print(addi(n1, n2))
elif o1 == "-":
print(subi(n1, n2))
elif o1 == "*":
print(mult(n1, n2))
elif o1 == "/":
print(divi(n1, n2))
else:
print("Wrong Operator!")
你需要把它打印出来。天哪!我肯定已经接近这个问题了。我现在觉得自己很笨哈哈非常感谢你需要
打印它!我肯定已经接近这个问题了。我现在觉得很傻哈哈谢谢你非常友好的小字体打印(addi(n1,n2)为什么只检查y?如果x=0呢?你会在数学中得到>>>0/40.0,或者数学:p,对于每个数字a,0/a=0(存在),但a/0是未定义的,所以我们只检查第二个数字y。朋友小字体打印(addi(n1,n2)为什么只检查y?如果x=0呢?你会在数学中得到>>>0/40.0,或者数学:p,对于每个数字a,0/a=0(存在),但a/0未定义,因此我们只检查第二个数字y。非常感谢非常感谢much@LuigiDavinci欢迎光临,我建议,因为您使用的是python 3.0,所以请使用floor division@HariomSingh,但这不会给我正确的结果,不是吗?当被问及5/2时,它会打印2.0,所以我认为这是一个浮动,为什么不准确地划分呢?还是我遗漏了什么much@LuigiDavinci欢迎使用,我建议您使用python 3.0,使用floor division@HariomSingh,但这不会给我正确的结果,不是吗?当被问到什么是5/2时,它会打印2.0,所以我想既然它是一个浮点,为什么不准确地分割或是我错过什么了吗