日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 简易计算器(只能计算加减乘除和括号)

發布時間:2025/4/14 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 简易计算器(只能计算加减乘除和括号) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import re# 格式化字符串函數(消除一些錯誤的格式) def format_string(string):# 一系列的替換語句string = string.replace("--", "-")string = string.replace("-+", "-")string = string.replace("++", "+")string = string.replace("*+", "*")string = string.replace("/+", "/")string = string.replace(" ", "-")return string# 檢查函數(檢查輸入的表達式是否合法) def chek_expression(string):check_result = True # 標志位if not string.count("(") == string.count(")"): # 檢查括號是否完整print("輸入錯誤,未匹配到完整括號!")check_result = Falseif re.findall('[a-pr-z]+', string.lower()): # 檢查是否包含字母print("輸入錯誤,包含非法字符!")check_result = Falsereturn check_result# 加減法函數 def add_minus(string):add_regular = r'[\-]?\d+\.?\d*\+[\-]?\d+\.?\d*' # 定義一個匹配的規則sub_regular = r'[\-]?\d+\.?\d*\-[\-]?\d+\.?\d*' # 同上 # 注解:[\-]? 如果有負號,匹配負號; \d+ 匹配最少一個數字; \.? 是否有小數點,有就匹配;\d* 是否有數字有就匹配 # \+ 匹配一個加號; [\-]?\d+\.?\d* 這幾個同上# 加法while re.findall(add_regular, string): # 按照regular規則獲取一個表達式,用while循環,把所有加法都算完 add_list = re.findall(add_regular, string)for add_stars in add_list:x, y = add_stars.split('+') # 獲取兩個做加法的數(以+號作為分割對象),分別賦給x和yadd_result = '+' + str(float(x) + float(y))string = string.replace(add_stars, add_result) # 替換string = format_string(string)# 減法while re.findall(sub_regular, string): # 用while循環,把所有減法都算完 sub_list = re.findall(sub_regular, string)for sub_stars in sub_list:x, y = sub_stars.split('-') # 獲取兩個做減法的數(以-號作為分割對象),分別賦給x和ysub_result = '+' + str(float(x) + float(y))string = string.replace(sub_stars, sub_result) # 替換string = format_string(string)return string# 乘、除法函數 def multiply_divide(string):regular = r'[\-]?\d+\.?\d*[*/][\-]?\d+\.?\d*' # 定義一個匹配的規則regularwhile re.findall(regular, string):expression = re.search(regular, string).group() # 按照regular規則獲取一個表達式# 如果是乘法if expression.count('*') == 1:x, y = expression.spilt('*')mul_result = str(float(x) * float(y))string = string.replace(expression, mul_result) # 計算結果替換原表達式string = format_string(string) # 格式化# 如果是除法if expression.count('/') == 1:x, y = expression.spilt('/')div_result = str(float(x) / float(y))string = string.replace(expression, div_result)string = format_string(string) # 格式化# 如果是階乘if expression.count('**') == 1:x, y = expression.spilt('**')pow_result = 1for i in range(int(y)):pow_result *= int(x)string = string.replace(expression, str(pow_result))string = format_string(string) # 格式化return string# 主程序 while True:source = input("請輸入表達式:") # 輸入要計算的式子if source == "Q": # 該判斷語句只能寫在前面,寫后面會報錯exit() # 如果輸入是Q,退出elif chek_expression(source):print("eval result: ", eval(source)) # eval() 是把其他類型轉換為字符串sourse = format_string(source)if source.count("(") > 0:stars = re.search(r'\([^()]*\)', source).group() # 去括號,得到括號里的字符串replace_stars = multiply_divide(stars) # 將括號的表達式進行乘除運算replace_stars = add_minus(stars) # 將乘除的結果進行加減運算source = format_string(source.replace(stars, replace_stars)) # 用計算結果替換括號字符串# 沒有括號直接進行運算else:replace_stars = multiply_divide(source) # 乘除運算replace_stars = add_minus(source) # 加減運算source = source.replace(source, replace_stars)

轉載于:https://www.cnblogs.com/ss-long/p/10500515.html

總結

以上是生活随笔為你收集整理的python 简易计算器(只能计算加减乘除和括号)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲激情婷婷 | 欧美日韩有码 | 日韩黄色免费观看 | 中国三级黄色 | 久久精品高清视频 | 成人免费在线电影 | 天天色播 | 67194成人在线观看 | 黑人玩弄人妻一区二区三区免费看 | 久久av免费 | 成人精品视频一区二区 | aa视频在线观看 | 91香蕉视频污污 | 偷拍女澡堂一区二区三区 | 不卡日本视频 | 国产中文字幕一区二区 | 欧美精品一区在线 | 欧美激情成人在线 | av大全免费 | 日韩国产在线观看 | 亚洲成年网站 | 久久人妖 | 色秀av | 国产欧美一区二区三区另类精品 | 国产精品嫩草影院精东 | 久久美女视频 | 中文字幕精品在线观看 | 美女午夜视频 | 日韩免费淫片 | 欧美大片一区 | 久久久久久久久久网 | 男人午夜天堂 | 国产精品成人一区二区三区电影毛片 | 欧美男优 | 色射影院| 五月天三级 | 精品无码一级毛片免费 | 狠狠爱婷婷 | 超碰按摩| 波多野结衣www | 欧美日韩亚洲国产另类 | 日韩aⅴ在线观看 | 日日夜夜拍 | 日韩91视频 | 国产二区精品视频 | 影音先锋婷婷 | 成人在线精品视频 | 乱子伦视频在线看 | 国产精品久久久久久久免费观看 | 久久成人视屏 | 好爽…又高潮了毛片免费看 | 午夜精品久久久久久久四虎美女版 | 手机成人免费视频 | 亚洲男人的天堂av | 18禁肉肉无遮挡无码网站 | 抱着老师的嫩臀猛然挺进视频 | 欧美污污视频 | 爱上av| 国产激情无码一区二区三区 | 国产三级国产精品国产国在线观看 | 狠狠干2022 | 黄片毛片一级 | 成人天堂噜噜噜 | 一区三区视频在线观看 | 亚洲色图15p | 在线黄色av | 欧美人与野 | 欧美日韩在线一区 | 中文在线а√天堂官网 | 黄色网页大全 | 韩国黄色视屏 | 色婷婷基地 | 久草视频在线免费播放 | 奶水旺盛的少妇在线播放 | 国产乱码精品一区二三赶尸艳谈 | 国产精品美女网站 | 九九九九九九精品 | 国产福利91精品一区二区三区 | 老司机午夜影院 | 亚洲福利社 | 成人自拍视频在线观看 | 色啪网站 | 天天躁日日躁狠狠躁伊人 | 老地方在线观看免费动漫 | 成人试看120秒体验区 | 久久欧美| 五月婷网站 | 黄色高清片| 欧美一级艳片视频免费观看 | 国产男女猛烈无遮挡免费观看网站 | www.亚洲 | 亚洲精品男人天堂 | 中国字幕一色哟哟 | 伊人久久视频 | 欧美情侣性视频 | 国产欧美日韩视频 | 美女视频黄色在线观看 | 国产精品探花一区二区在线观看 | 蜜乳av 懂色av 粉嫩av |