簡體   English   中英

ValueError +重復我不知道

[英]ValueError + repetition I can't figure out

我是編程新手。 我必須為計算器編寫腳本。 我有兩個問題:

  1. 我的第三個輸入數字的提示會重復出現,我不確定為什么。
  2. 我得到了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() ,因此它們在函數定義后調用一次,並且忽略它們的返回值,然后再次進行實際存儲和計算結果。

關於ValueError我似乎無法找到可能的位置,對我而言,代碼在解決主要問題后可以正常工作。 問題發生在哪一行?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM