ValueError +重复我无法弄清楚

时间:2018-03-07 05:18:55

标签: python valueerror

我是编程新手。我必须为计算器编写一个脚本。 我有两个问题:

  1. 我的第三个提示输入一个数字重复,我不知道为什么。
  2. 我得到ValueError而不是计算,但我无法弄清楚我做错了什么。
  3. 这是我的代码:

    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()
    

    有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

这里的主要错误是您在函数定义之后调用input_number1()input_operator()input_number2(),因此在定义函数后调用一次并忽略它们的返回值,然后再次实际存储和计算结果。

关于ValueError我似乎无法找到可能的位置,对我来说,修复主要问题后代码运行正常。这个问题发生在什么路上?