我需要一些建議。我需要用Python編寫一個程序,向用戶請求一個包含左邊 和右括號的字符串S
,例如(()))(()(
。Python中的字符串處理(作爲列表)
之後,程序需要計算輸入字符串的左邊數和右邊括號的數量。例如,字符串(()))(()
包含四個右括號和四個左括號。提示:在開始時引入初始化爲零的兩個計數器。然後在循環中探索字符串的符號。對於當前符號遞增left
計數器通過1
f符號爲(
,否則遞增1
right
計數器。
然後,我需要測試字符串是否數學。
如果方括號出現在數學公式中,讓我們調用一個字符串數學式。 例如,字符串()
,(())()
,(()())
是類似數學的,而字符串 ))(())((
和())(()
不是。 我需要編寫一個程序,打印"YES"
如果輸入字符串是數學類似的,否則,"NO"
。提示:特別是,對於循環的每次迭代,我需要檢查left
和right
計數器的值是否滿足特定條件。
我只是一個初學者,所以我寫這個任務的實現或者至少想象它應該是什麼樣子會讓我很困惑。
我會很感激任何類型的幫助,因爲我真的需要解決這個問題。先謝謝你!
這是一個着名的(也是最主要的)堆棧數據結構的應用之一。嘗試搜索'使用堆棧匹配的圓括號' –