我製作了this使用Python的計算器,我很滿意(考慮到它是我的第一個Python程序)。我想改善的唯一事情是輸入系統。 這是我目前獲取變量的方法,但我必須輸入每個變量之間的空格,如下所示:2 + 3 * 4.我希望能夠做的就是在沒有空格的情況下輸入它們,比如這個:2 + 3 * 4。在Python中獲取多行變量在一行
在C++中,你可以這樣做:
std::cin >> num1 >> act1 >> num2 >> act2 >> num3;
我的問題是,如果有一種方法可以做同樣的事情在Python?
這是我現在使用以獲得變量的代碼:
user_input=input("Enter a num1 act1 num2 act2 num3 (with a space between them): ") #Gets the values
var1, action1, var2, action2, var3=user_input.split() #assigns the values into the variables
你可以讀取一個字符串,然後自己解析它 - 除非你總是會有非常有限的輸入 - 這不會使一個非常靈活的計算器:) – Levon
你必須檢查char-by-char並識別數字創建號碼,並識別其他字符以獲得'+ *'。或者使用[PLY-Python Lex-Yacc](http://www.dabeaz.com/ply/)構建真正的解析器。 – furas