我正在写一个可以处理两个不同数字的基本计算器。到目前为止,我设法编写了一个可行的原型,但是在进行分割和万无一失的同时,我遇到了许多问题,因此我将它们分开发布。
如果用户未提供合格的运算符,我希望程序重复该问题。那就是我现在的代码:
def optn_query():
print("Hulk can different things with number!")
print("YOU!")
optn = input("What Hulk do with number?! ")
return optn
我是否使用if语句确定输入是否正确?
我也将return optn放在那里,因此下一个函数(优美地称为hulk_math)不会在途中失败,但是它仍然可以:
Traceback (most recent call last):
File "hulc.py", line 57, in <module>
main()
File "hulc.py", line 13, in main
hulk_math()
File "hulc.py", line 41, in hulk_math
if optn == "+":
NameError: name 'optn' is not defined
我应该怎么做才能解决这个问题?
这是hulk_math()本身:
def hulk_math():
if optn == "+":
result = num1 + num2
print("Hulk ADDS!!! Hulk thinks it's {0}!".format(result))
elif optn == "-":
result = num1 - num2
print("Hulk SUBTRACTS!!! Hulk thinks it's {0}!".format(result))
elif optn == "*":
result = num1 * num2
print("Hulk MULTIPLIES!!! Hulk thinks it's {0}!".format(result))
elif optn == "/":
result = num1 / num2
print("Hulk DIVIDES!!! Hulk thinks it's {0}!".format(result))
main()
您实际上需要调用函数:
def hulk_math():
optn = optn_query()
#The rest of your code
另外,除非num1
和num2
在代码的其他地方定义,并且它们在的范围内,否则hulk_math
您的程序也将在那里失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句