如何评估用户在 s 循环中的输入?

How to evaluate user's input in s loop?

我是编码或编程方面的新手,希望得到尊重。

如何创建一个持续接受用户输入的程序。输入应采用这种格式的 operatornumber,如 -3

喜欢

num = 0

while((a := input("Enter operatornumber like -9;")) != "-0"):
    if (len(a) >= 2) and (a[0] in "/*-+"):
        num = eval(f"{num}{a}")
    else:
        print("Invalid input, try again.")
    
print(num)

但是我怎样才能使用户的第一个输入仅使用加 (+) 或减(-) 运算符,而在下一个输入中他们现在可以使用其他运算符。

喜欢

输入operatornumber比如-9; +9 输入operatornumber,如-9; -8 输入operatornumber,如-9; -0 1

我怎样才能把所有的输入结合起来 +9-9 是 1?

您可以对文本使用双引号,对数字使用单引号,这样它们就不会相互闭合。 您可以使用以下代码永远获得输入:

while True:
   Number = input("Enter operator and number like '-9'")
   # Place your next code here.

在输入语句中,您将关闭“输入运算符和类似数字”消息。这在该行之后产生了更多问题,现在所有绿色部分都被视为字符串。另外,在while语句中,“w”应该是小写字母,python是区分大小写的。尝试这样做:

Number = input("Enter operator and number like '-9' ")
Operator = ("+","-","/")
while Number == (Operator + Number):
    if Number == "-0":
        Total = 0
        Total += Number 
print(f"the result of {num} is {total} ")

这是另一个答案。我们还必须使用操作符从用户那里获取输入,因此 len(=2。现在,我们将采用另一个变量 h,在其中我们将从索引 1 到结尾遍历字符串,这意味着运算符被删除,我们将其转换为 int。然后我们将检查 user_input[0] 的 if 条件是否为 +,-,*,/ 然后根据该条件更新结果。我们将询问用户是否需要更多操作,如果是,则继续询问,否则,中断 while 循环。这是我的代码:

result=0
while True:
    a=input("Enter operator and number= ")
    if len(a)>=2 and a[0] in ["+","-","*","/"]:
        h=int(a[1::])
        if a[0]=="+":
            result+=h
        elif a[0]=="-":
            result-=h
        elif a[0]=="*":
            result*=h
        elif a[0]=="/":
            result/=h
        else:
            print("choose only from +-/*")
    else:
        print("invalid input")
    ch=input("Enter more?")
    if ch=='n':
        break

print(f"The result is {result}")

检查缩进错误,因为我复制并粘贴了它,所以它可能有缩进错误