我是编程新手。我必须为计算器写一个脚本。 我有两个问题:
ValueError
这是我的代码:
def input_number1(): prompt = 'Enter a number\n' num1 = int(input(prompt)) if num1 <= 0: print('Error') input_number1() else: return num1 input_number1() def input_operator(): prompt = 'Enter [1] to add, [2] to substract, [3] to multiply or [4] to divide?\n' operator = int(input(prompt)) if operator < 1 or operator > 4 : print('error') input_operator() else: return operator input_operator() def input_number2(): prompt = 'Enter a number\n' num2 = int(input(prompt)) if num2 <= 0 : print('Error') input_number2() else: return num2 input_number2() num1 = input_number1() operator = input_operator() num2 = input_number2() def do_calc(): if operator == 1: print(num1 + num2) elif operator == 2: print(num1 - num2) elif operator == 3: print(num1 * num2) else: print(num1 / num2) do_calc()
有人能给我指一下正确的方向吗?
这里的主要错误是您正在呼叫 input_number1() ,则, input_operator() 和 input_number2() 在函数定义之后,所以它们在定义函数并忽略其返回值之后调用一次,然后再次实际存储和计算结果。
input_number1()
input_operator()
input_number2()
关于 ValueError 我似乎找不到它可能在哪里,对我来说,在修复了主要问题之后,代码工作得很好。问题发生在哪条线上?