python 图形化计算器计算器怎么循环

共发布过4门课程
0% Complete
加载中,精彩就在后面...
截取实验桌面
上传本地图片
因业务调整,日起购买的训练营课程服务标准将进行如下更新:
训练营课程不再提供24小时内的答疑服务和会员赠送,课程教师及助教将会不定期回复讨论区的提问。训练营课程价格也进行了相应调整。
注:日之前购买的训练营服务内容不受影响,仍然可以继续享有课程有效期内的答疑服务。具体服务内容以购买时页面显示服务内容为准。
好的,知道了
购买成功!课程上线时,您将收到邮件提醒
一个实验正在进行,是否停止它,开始新实验?
为了让评估结果更加准确,请注意以下操作:
完成实验后点击「停止实验」按钮
将代码提交到代码库
尽可能详尽的撰写实验报告
尽可能在实验操作的关键步骤截图
尽可能减少无用操作
尽可能高效的利用内存/CPU资源
评估课还在不断完善中,我们真挚希望你能通过我们提供的这个平台,找到更好的发展机会。
该实验默认环境
本课程使用 Python 开发一个简单的加减计算器。输入一个加减的表达式,计算出表达式的结果。我们将通过实验学会字符串处理、表达式二叉树的生成及遍历。
您有 -1 个实验豆,激活本课程需要消耗 2 个实验豆!
激活后可不限次数学习本课。
获取验证码
选择支付方式
下次自动登录
注册表示您已经同意我们的在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
各位大佬好, 我想要写一个计数器,每次一个循环后,计数器数量加一,但不知道怎么实现。麻烦各位赐教
def count_turn(turn=0):
if turn == 0:
elif turn &=1:
return turn
def add_turn(turn):
return turn
def leave_stay():
print("="*50)
reply = input("Do you want to quit the game or continue playing? "
"\n'q' for quit, 'c' for continue ")
return reply
def execute(reply,):
if reply == 'q':
signal = False
elif reply == 'c':
leave_stay()
def main(turn =0):
turn = count_turn(turn)
print("first:", turn)
signal = True
if signal:
turn = count_turn(turn)
turn=add_turn(turn)
print("here is the turn :", turn)
reply = leave_stay()
execute(reply)
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
class Counter(object):
def __init__(self, start=0):
self.num = start
def count(self):
self.num += 1
return self.num
调用如下:
&&& c = Counter()
&&& c.count()
&&& c.count()
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
def execute(reply,):
while reply not in 'qc':
reply = leave_stay()
return True if reply=='c' else False
def main(turn=0):
turn = count_turn(turn)
print("first:", turn)
signal = True
while signal:
turn = count_turn(turn)
print("here is the turn :", turn)
reply = leave_stay()
signal = execute(reply)
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。自己动手写计算器
一、功能分析
  用户输入一个类似这样&3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里面除了包含空格、'+'、'-'、'*'、'/'和括号再无其他特殊符号,然后自己动手写代码解析其中的表达式,实现加减乘除,最后得出的结果与真实的计算机所算的结果必须一致。
二、所需的知识点
字符串的处理
正则表达式的运用
三、程序实现流程分析
用正则表达式处理字符串,只提取其中的数字和运算符,并转换成列表
编写一个函数,处理没有括号的基本运算的基本表达式
再写一个函数递归处理带有括号的函数,先计算最内部括号中的表达式, 然后将最内部的括号替换为计算后的结果, 在递归外部一层的, 最后返回的就是所需的结果
四、具体实现过程
1.正则表达式处理用户输入字符串
  这里我不会讲正则表达式具体的用法,要将的话都可以讲一本书了,我只讲本文用到的正则表达式。根据需求,我们需要提取出用户输入字符串中的数字和运算符到一个列表中,而空格将会被忽略掉,假设用户输入的表达式是&expression,我们可以写出下面的代码:
expression='(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4)'
l=re.findall('([\d\.]+|/|-|\+|\*)',expression)
print(l) #['100', '+', '40', '*', '5', '/', '2', '-', '3', '*', '2', '*', '2', '/', '4', '+', '9', '*', '3', '+', '4', '-', '4', '-', '4'] 
首先我们先看一下 findall 的用法,findall可以匹配所有符合规律的内容,返回包含结果的列表。'([\d\.]+|/|-|\+|\*)'是匹配规则,这里\d表示匹配一个数字,\.表示将.转义成数字上小数点 . ,不然在正则表达式里 .&可以匹配除了换行符以外的任意字符。[\d\.]+表示可以匹配至少由一个数字、或者小数点 . 组成的字符串,比如说,这里既可以匹配到100,也可以匹配到100.11。|/|-|\+|\* 表示匹配到+或-或*或/,()表示一组,这里意思是如果匹配到数字或者+或者-或者*或者/其中任意一个的话,就将其作为一组,然后添加到列表中去。
2.不含括号的表达式的计算
  为了后面迭代算出有括号的表达式,我们先写一个没有括号的表达式,比如说像这样一个表达式&'100.5+40*5/2-3*2*2/4+9',对于这样的表达式我们肯定是计算乘除,在计算加减,计算一个最小计算单元后,再将结果放回列表中不断循环,直到算出整个不带括号的表达式,实现的代码如下:
expression= '100.5+40*5/2-3*2*2/4+9'
l = re.findall('([\d\.]+|/|-|\+|\*)',expression)
print(100.5+40*5/2-3*2*2/4+9)
def multdiv(l,x):
#定义最小的乘除运算单元,l是列表,x代表*或/
a = l.index(x)
#首先获取乘除运算符的位置
if x=='*':
#如果是*则执行乘法运算
k = float(l[a - 1]) * float(l[a + 1])
#获取乘法运算的结果,比如k=3*2
k = float(l[a - 1]) / float(l[a + 1])
del l[a - 1], l[a - 1], l[a - 1]
#删除掉列表里刚做运算的三个元素,比如,3 * 2
l.insert(a - 1, str(k))
#将刚计算的结果插入到列表中然后执行下一次计算
def fun(s):
#先将乘除运算计算完,在计算加减
if '*' in l and '/' not in l:
#先判断,如果只有*的话,先计算 *
multdiv(l, '*')
elif '*' not in l and '/' in l:
#如果只有 /的话,先计算 /
multdiv(l, '/')
elif '*' in l and '/' in l:
#如果既有 / 也有 *的话,先获取他们的下标,
a = l.index('*')
#根据下标判断先执行哪个
b = l.index('/')
multdiv(l, '*')
multdiv(l, '/')
#当上面的乘除计算完之后,就可以计算加减了
if l[0]=='-':
#这里需要判断一下,如果列表里第一个符号是&-&
l[0]=l[0]+l[1]
#的话,表示第一个数是负数,所以我们需要将列表第一和第二项合并起来
sum += float(l[0])
#做完上面的处理后列表中就只剩加减计算了,
for i in range(1,len(l),2):
if l[i]=='+':
#根据符号执行加减计算,将结果保存在sum中
sum+=float(l[i+1])
sum-=float(l[i+1])
#最后返回这个不含括号表达式的结果
# 206.5 可以看出与实际的计算结果一样
  代码写到这里主要的功能实现了,但是上面的代码还有一个小问题,那就是如果我们的表达式如果是这样的 7*((1-4)-4) 我们按照程序流程执行的话执行一次fun的话,表达式变成这样&7*(-3-4),在执行一次的话就变成&7*-7,这样的话,我们在执行上面的fun函数就会出现问题,因为两个数字之间出现了两个运算符,所以我们要修改上面的函数使其能处理这种情况。
def multdiv(l,x):
  #定义最小的乘除运算单元,l是列表,x代表*或/
a = l.index(x)
#首先获取乘除运算符的位置
if x == '*' and l[a + 1] != '-':
#判断*,/后面的一个操作符是否是&-&如果是的话,分别进行处理
k = float(l[a - 1]) * float(l[a + 1])
elif x == '/' and l[a + 1] != '-':
k = float(l[a - 1]) / float(l[a + 1])
elif x == '*' and l[a + 1] == '-':
k = -(float(l[a - 1]) * float(l[a + 2]))
elif x == '/' and l[a + 1] == '-':
k = -(float(l[a - 1]) / float(l[a + 2]))
del l[a - 1], l[a - 1], l[a - 1]
#删除掉列表里刚做运算的三个元素,比如,3 * 2
l.insert(a - 1, str(k))
#将刚计算的结果插入到列表中然后执行下一次计算
def fun(l):
#先将乘除运算计算完,在计算加减
if '*' in l and '/' not in l:
#先判断,如果只有*的话,先计算 *
multdiv(l, '*')
elif '*' not in l and '/' in l:
#如果只有 /的话,先计算 /
multdiv(l, '/')
elif '*' in l and '/' in l:
#如果既有 / 也有 *的话,先获取他们的下标,
a = l.index('*')
#根据下标判断先执行哪个
b = l.index('/')
multdiv(l, '*')
multdiv(l, '/')
#当上面的乘除计算完之后,就可以计算加减了
if l[0]=='-':
#这里需要判断一下,如果列表里第一个符号是&-&
l[0]=l[0]+l[1]
       #的话,表示第一个数是负数,所以我们需要将列表第一和第二项合并起来
sum += float(l[0])
       #做完上面的处理后列表中就只剩加减计算了,
for i in range(1, len(l), 2):
if l[i] == '+' and l[i + 1] != '-':
#判断+,-后面的一个操作符是否是&-&如果是的话,分别进行处理
sum += float(l[i + 1])
elif l[i] == '+' and l[i + 1] == '-':
sum -= float(l[i + 2])
elif l[i] == '-' and l[i + 1] == '-':
sum += float(l[i + 2])
elif l[i] == '-' and l[i + 1] != '-':
sum -= float(l[i + 1])
#最后返回这个不含括号表达式的结果
到这里,我们就完成了不含括号表达式的运算,程序的一大半就完成了,下面我们在完成剩下的程序。
3.带有括号表达式的递归计算
首先计算最里面一个括号里的表达式,调用fun函数计算出其值,将其结果代替其括号,然后不停的递归调用直到获取最后的结果。
def calculate(expression):
#存储'('出现的位置
if '(' not in expression:
#如果括号都处理完成了,直接调用fun函数返回结果
ans=fun(expression)
return ans
for i in range(len(expression)):
if expression[i]=='(':
ex.append(i) #ex=[6,7]
#纪录 '(' 出现的位置
elif expression[i]==')':
#遇到 ')'后。就可以计算第一个括号里的值
#定义一个变量 存储括号表达式的结果
sub=expression[ex[len(ex)-1]+1:i]
#获取括号里的表达式
temp=fun(sub)
#调用fun函数计算括号里的表达式的值
expression=expression[0:ex[len(ex)-1]]+str(temp)+expression[i+1:len(expression)+1]
#去掉刚才的括号表达式,并用temp代替,返回一个新的表达式
#删除刚才计算完的括号表达式里面 '(' 的位置
return calculate(expression)
#递归计算新的表达式,直道所有的括号处理完毕
4.大功告成
到这里所有的模块都完成了,一个简单的计算器就实现了,下面附上完整的代码
def md(l,x):
a = l.index(x)
if x == '*' and l[a + 1] != '-':
k = float(l[a - 1]) * float(l[a + 1])
elif x == '/' and l[a + 1] != '-':
k = float(l[a - 1]) / float(l[a + 1])
elif x == '*' and l[a + 1] == '-':
k = -(float(l[a - 1]) * float(l[a + 2]))
elif x == '/' and l[a + 1] == '-':
k = -(float(l[a - 1]) / float(l[a + 2]))
del l[a - 1], l[a - 1], l[a - 1]
l.insert(a - 1, str(k))
def fun(s):
l = re.findall('([\d\.]+|/|-|\+|\*)',s)
if '*' in l and '/' not in l:
md(l, '*')
elif '*' not in l and '/' in l:
md(l, '/')
elif '*' in l and '/' in l:
a = l.index('*')
b = l.index('/')
md(l, '*')
md(l, '/')
if l[0]=='-':
l[0]=l[0]+l[1]
sum += float(l[0])
for i in range(1, len(l), 2):
if l[i] == '+' and l[i + 1] != '-':
sum += float(l[i + 1])
elif l[i] == '+' and l[i + 1] == '-':
sum -= float(l[i + 2])
elif l[i] == '-' and l[i + 1] == '-':
sum += float(l[i + 2])
elif l[i] == '-' and l[i + 1] != '-':
sum -= float(l[i + 1])
return sum
def calculate(expression):
if '(' not in expression:
ans=fun(expression)
return ans
for i in range(len(expression)):
if expression[i]=='(':
ex.append(i) #ex=[6,7]
elif expression[i]==')': #14
sub=expression[ex[len(ex)-1]+1:i]
temp=fun(sub)
expression=expression[0:ex[len(ex)-1]]+str(temp)+expression[i+1:len(expression)+1]
return calculate(expression)
s='1 - 2 * ( (60-30 +(-40/5+3) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )'
print(1 - 2 * ( (60-30 +(-40/5+3) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) ))
  #5238098
s3='3*(4+50)-((100+40)*5/2-3*2*2/4+9)*(((3+4)-4)-4)'
                              #518.0
print(3*(4+50)-((100+40)*5/2-3*2*2/4+9)*(((3+4)-4)-4))
print(calculate(s))
                                                #5238098
print(calculate(s3))                                                  #518.0
  为了简洁性,上面完整的代码没有写注释,要看注释的话可以往文章的上面去查看,最后为了可以简单的对比计算器的正确性,就没有加入input部分来获取用户的输入,直接在代码中用字符串代替了,代码的最后可以看出代码正确的运行了,到这里简易计算器就完成了。
  最近深入的学一下正则表达式,发现上面写的计算器,比较复杂,所以就想用正则在经行改写一下,下面是改写后的代码,改写后去除注释不到40行代码,非常简洁,下面来看一下代码
def multiply_divide(s):
        #计算一个不含括号的最小乘除单元,用split分隔*或/然后计算
ret = float(s.split('*')[0]) * float(s.split('*')[1]) if '*' in s else float(s.split('/')[0]) / float(
s.split('/')[1])
return ret
def remove_md(s):
        # 将不含括号的表达式里的乘除先递归计算完
if '*' not in s and '/' not in s:
        # 没有乘除的话递归结束
        # 匹配一个最小乘除单元,调用multiply_divide计算,将结果拼接成一个新的表达式进行递归处理
k = re.search(r'-?[\d\.]+[*/]-?[\d\.]+', s).group()
s = s.replace(k, '+' + str(multiply_divide(k))) if len(re.findall(r'-', k)) == 2 else s.replace(k, str(
multiply_divide(k)))
return remove_md(s)
def add_sub(s):
        # 计算没有乘除的表达式,得出最后不包含括号表达式的运算结果
l = re.findall('([\d\.]+|-|\+)', s)          # 将表达式转换成列表,
if l[0] == '-':
        # 如果第一个数是负数,对其进行处理
l[0] = l[0] + l[1]
sum = float(l[0])
for i in range(1, len(l), 2):
        # 循环计算结果
if l[i] == '+' and l[i + 1] != '-':
sum += float(l[i + 1])
elif l[i] == '+' and l[i + 1] == '-':
sum -= float(l[i + 2])
elif l[i] == '-' and l[i + 1] == '-':
sum += float(l[i + 2])
elif l[i] == '-' and l[i + 1] != '-':
sum -= float(l[i + 1])
return sum
def basic_operation(s):
          # 计算一个基本的4则运算
s = s.replace(' ', '')
return add_sub(remove_md(s))
          # 调用前面定义的函数,先乘除,后加减
def calculate(expression):
           # 计算包含括号的表达式
if not re.search(r'\([^()]+\)', expression):
# 匹配最里面的括号,如果没有的话,直接进行运算,得出结果
return basic_operation(expression)
k = re.search(r'\([^()]+\)', expression).group()
# 将匹配到的括号里面的表达式交给basic_operation处理后重新拼接成字符串递归处理
expression = expression.replace(k, str(basic_operation(k[1:len(k) - 1])))
return calculate(expression)
s = '1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )'
print('用eval计算出来的值为:{}\n计算器计算出来的值为:{}'.format(eval(s), calculate(s)))
# &&& 用eval计算出来的值为:2380957
# &&& 计算器计算出来的值为:2380957 
六、小结 
  看了上面的代码,是不是觉自己写代码还是好麻烦啊,那么Python有没有已经写好的函数帮我们完成这一功能了,作为追求简洁的python来说必须有,一行代码解决上面我们做的所有事,而且功能更加完善,那就是eval()函数,只需将要计算的表达式传递给eval函数即可算出结果。看到这里,是不是有点泪奔的感觉,白写了。其实不然,通过我们自己写,可以更好的理解实现的原理,并且加强自己写代码的能力。
阅读(...) 评论()更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
按住视频可进行拖动
&正在加载...
举报视频:
举报原因(必填):
请说明举报原因(300字以内):
请输入您的反馈
举报理由需要输入300字以内
感谢您的反馈~
请勿重复举报~
请刷新重试~
收藏成功,可进入
查看所有收藏列表
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
用爱奇艺APP或微信扫一扫,在手机上继续观看
当前播放时间:
一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
使用python语言来开发 计算器 视频演示教程
正在检测客户端...
您尚未安装客户端,正在为您下载...安装完成后点击按钮即可下载
30秒后自动关闭
使用python语言来开发 计算器 视频演示教程">使用python语言来开发 计算器 视频演示教程
请选择打赏金额:
播放量12.7万
播放量数据:快去看看谁在和你一起看视频吧~
更多数据:
热门短视频推荐
Copyright (C) 2018 & All Rights Reserved
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
正在为您下载爱奇艺客户端安装后即可快速下载海量视频
正在为您下载爱奇艺客户端安装后即可免费观看1080P视频
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
后才可以领取积分哦~
每观看视频30分钟
+{{data.viewScore}}分
{{data.viewCount}}/3
{{if data.viewCount && data.viewCount != "0" && data.viewCount != "1" && data.viewCount != "2" }}
访问泡泡首页
+{{data.rewardScore}}分
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}1{{else}}0{{/if}}/1
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}
+{{data.signScore}}分
{{data.signCount}}/1
{{if data.signCount && data.signCount != 0}}
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制免费在线 BMI 计算器编码Python版代码(两条解决思路)
1,674 viewsA+
代码要求:
根据用户输入的身高与体重计算用户的BMI值处于一个什么样的状态。
BMI = 体重除以(身高的2次方),身高需要转为米为单位
代码内容:
代码中最难的部分不是正常输入的部分,而是要考虑用户会输入哪些内容,然后来告知用户要输入什么样的内容。
height = input('输入您的身高(厘米CM):')
weight = input('输入您的体重(公斤KG):')
strnum = '.'
for i in height:
if i in strnum:
for i in weight:
if i in strnum:
print(x,y)
if x + y == (len(height) +len(weight)):
heights = float(height)
weights = float(weight)
bmi = weights/((heights/100)**2)
if bmi&18.4:
print('太轻了')
elif bmi &=18.4 and bmi & 23.9:
print('正常')
elif bmi &=24 and bmi &27.9:
print('过重')
print('肥胖')
print('您输入的体重或身高可能输错了,只能输入数字和小数点')
写到这个代码内容的时候,已经测试了很多种判断条件,均没办法符合要求比如
isdigit()判断用户输入的内容为数字,那如果用户输入的45.5KG呢,这里就出现了False
(type(float(height))==float) and (type(float(weight))==float)
判断他们的类型是否相同,那如果用户输入的是数字,那我再加一个or判断?但如果用户输入的两个内容都是False ,那结果就成了 True,那如果输入的一个是数字,一个是字母呢?
疯了吧,所以就出现了上面的遍历,然后再查找内容是包含在strnum中
if x + y == (len(height) +len(weight)):
而这一句是也后面改的,本来是x+y==2,后面发现不对当1.2a,遍历第一个的时候x已经被赋值了,所以就有x+=1,来依次判断用户输入的内容是否在内容,如果用户输入的内容是正确的,那么他们两个值是相等,但如果用户输入的内容中间多了一个字母或符号,就会发现x少加了一次,这样他们的结果就不相等,就返回了else的结果了。
第二种解决方案
因为没有学到这个部分的内容,所以就没有办法太深入的理解了,但是你可以百度try异常,也不是很难的。
height = input('输入您的身高(厘米CM):')
weight = input('输入您的体重(公斤KG):')
heights = float(height)
weights = float(weight)
except ValueError:
print('不可以输入数字以外的内容。')
bmi = weights/((heights/100)**2)
if bmi&18.4:
print('太轻了')
elif bmi &=18.4 and bmi & 23.9:
print('正常')
elif bmi &=24 and bmi &27.9:
print('过重')
print('肥胖')
原文:http://bbs.fishc.com/thread-.html 感谢鱼C论坛冬雪雪冬版主提供的方案
<span class="tipso_style" id="tip-p" data-tipso='
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
Python习题
1,312 views
2,072 views
3,444 views
&198&18&6&2&2
菜鸟的互联网技术分享博客,懂点技术(仿站、建站、前端、linux、python、php),懂点营销(seo优化、搜索引擎营销),善于扯淡,有缘聊一聊。
<span class="tipso_style" id="tip-w" data-tipso=''>
关于企优托
您的浏览器不支持 video 标签。
企优托团队
关于本站李金龙,温故而知新,将所学所得梳理出来,帮助自己在以后的道路上可以对比曾经的自己。}

我要回帖

更多关于 python计算器代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信