Python 计算器追加输入而不是相加

Python calculator appends the inputs instead of adding

所以在编码方面我是一个新手,这是我的第一个计算器。 "add" 函数有效,但不是实际添加数字,而是将输入加在一起。例如,如果输入是 5 和 6 而不是打印 11,它将打印出 56。这是我的第一个问题。其次是我在代码底部看到了这个错误。任何人都可以解释我做错了什么以及如何解决它以供将来参考?

print("Welcome to my simple calculator")

while True:
    print("These are your options")
    print("Enter \"add\" to multiply two number together")
    print("Enter \"multiply\" to multiply two number together")
    print("Enter \"divide\" to multiply two number together")
    print("Enter \"subtract\" to multiply two number together")
    print("If you are done just type \"quit\"")
    user_input = input(":")

if user_input == "quit":
    break

elif user_input == "add":
    num1 = int(input("Enter the first number :"))
    num2 = int(input("Enter the second number"))
    result = str(int(num1)*int(num2)
    print(f'Your answer: {result}')

elif user_input == "multiply":
    num3 = input("Enter the first number :")
    num4 = input("Enter the second number")
    result = str(num3*num4)
    print("Your answer "+result)

elif user_input == "divide":
    num5 = input("Enter the first number :")
    num6 = input("Enter the second number")
    result = str(num5*num6)
    print("Your answer "+result)

elif input == "subtract":
    num7 = input("Enter the first number :")
    num8 = input("Enter the second number")
    result = str(num7-num8)
    print("Your answer "+result)

我知道这是基本的。但是对于新手来说很难。如果你想要 post 代码的固定版本,请提供,如果你能解释你是如何到达那里的以及我的代码有什么问题,我将不胜感激。

提前致谢!

input() 语句的结果将始终是一个字符串,除非另有说明。您收到该错误的原因是因为您试图将两个字符串相乘。因此,当您让用户输入数字时,请使用:int(input()) 或者您可以像这样求和。

result = int(num)*int(num1)

并且如果您希望将总和的答案保存为字符串(查看您的代码似乎并非如此):

result = str(int(num)*int(num1))

让我知道这是否适合你。

新:

print("Welcome to my simple calculator")

while True:
    print("These are your options")
    print("Enter \"add\" to multiply two number together")
    print("Enter \"multiply\" to multiply two number together")
    print("Enter \"divide\" to multiply two number together")
    print("Enter \"subtract\" to multiply two number together")
    print("If you are done just type \"quit\"")
    user_input = input(":")

    if user_input == "quit":
        break

    elif user_input == "add":
        num1 = int(input("Enter the first number :"))
        num2 = int(input("Enter the second number"))
        result = num1+num2
        print('Your answer:', result)

    elif user_input == "multiply":
        num3 = int(input("Enter the first number :"))
        num4 = int(input("Enter the second number"))
        result = num3*num4
        print("Your answer ", result)

    elif user_input == "divide":
        num5 = int(input("Enter the first number :"))
        num6 = int(input("Enter the second number"))
        result = str(num5/num6)
        print("Your answer ", result)

    elif input == "subtract":
        num7 = int(input("Enter the first number :"))
        num8 = int(input("Enter the second number"))
        result = num7-num8
        print("Your answer ", result)

给你 :) 如果它好请告诉我

这是您的代码的完成。 试试这个:

print("Welcome to my simple calculator")

while True:
    print("These are your options")
    print("Enter \"add\" to multiply two number together")
    print("Enter \"multiply\" to multiply two number together")
    print("Enter \"divide\" to multiply two number together")
    print("Enter \"subtract\" to multiply two number together")
    print("If you are done just type \"quit\"")
    user_input = input(":")"

    if user_input == "quit":
        break

    elif user_input == "add":
        num1 = int(input("Enter the first number :"))
        num2 = int(input("Enter the second number"))
        result = int(num1 + num2)
        print(result)

    elif user_input == "multiply":
        num3 = input("Enter the first number :")
        num4 = input("Enter the second number")
        result = int(num3 * num4)
        print(result)

    elif user_input == "divide":
        num5 = input("Enter the first number :")
        num6 = input("Enter the second number")
        result = int(num5 / num6)
        print(result)

    elif user_input == "subtract":
        num7 = input("Enter the first number :")
        num8 = input("Enter the second number")
        result = int(num7 - num8)
        print(result)