鱼C论坛

 找回密码
 立即注册
楼主: ~风介~

[技术交流] #鱼C五周年狂欢预热#第三弹(已结束)

  [复制链接]
发表于 2015-1-16 20:54:00 | 显示全部楼层
先拿3个在说~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 21:06:19 | 显示全部楼层

回帖奖励 +3 鱼币

支持一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 21:18:28 | 显示全部楼层

回帖奖励 +3 鱼币

不会这语言,只能
支持一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 21:19:26 | 显示全部楼层

回帖奖励 +3 鱼币

重在参与 欣赏优质代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 22:24:21 | 显示全部楼层

回帖奖励 +3 鱼币

鱼币++3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 22:25:28 | 显示全部楼层
+3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-16 22:26:27 | 显示全部楼层
鱼币+3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-16 22:29:22 | 显示全部楼层
挥舞乾坤 发表于 2015-1-16 14:09
严格测试下不成功的表达式:
-5+((1+2)*4)-3
5+((-1+2)*4)-3

确实不行!负数和空格、两位以上的数都不行。。。
字符串分割还没找到方法。解决了在更新下。
多谢测试!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 00:02:37 | 显示全部楼层

回帖奖励 +3 鱼币

拿3个再说!!!!:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 00:12:08 | 显示全部楼层

回帖奖励 +3 鱼币


鱼币来3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 01:07:12 | 显示全部楼层

回帖奖励 +3 鱼币

参与+捧场喽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 01:33:24 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 Xiao_肚oO 于 2015-1-22 11:27 编辑
  1. def RPN(m,r=[],o=['_'],i=0,op={'_':'0','+':'1','-':'1','*':'2','/':'2'}):
  2.     while i<len(m): r.extend(RPN(m[m.index('(',i)+1:],[],['_'],0)) if m[i]=='(' else o.append(m[i]) if m[i] in op else r.append(m[i]+' ') if m[i]!=')' else m.clear();i+=1 if len(m)==0 else (m[i]=='(' and r.pop()+1 or 1);[op[o[len(o)-2]],op[o[len(o)-1]]]==['1','1'] and r.append(o.pop(len(o)-2)+' ') or ((op[o[len(o)-1]]=='2' and o[len(o)-1]!=m[i-1]) and r.append(o.pop()+' '))
  3.     while op[o[len(o)-1]]=='1': r.append(o.pop()+' ')
  4.     return ''.join(r), i
  5. print(''.join(RPN(list(input('Input:').replace(' ','')))[0]))
复制代码

看了一下,没有用这个方法的,先贴出来吧!没有用正则和库,只支持字母系数,例如a+d*(b-c) 。
版本是3.4.2,这个方法的最短行极限了吧,实在想不出来了。
应该另辟蹊径,再去想想别的能不能更短。

怒减七行,效率同样维系!
测试结果:
a-b+(c*d)   ------>   a b - c d * +
a*b/(c+d)   ------>   a b * c d + /
a+b-c*d+(e-f/g)-(h+(i/j-k)*l+m)*n   ------>   a b + c d * - e f g / - + h i j / k - l * + m + n * -
(((a+b)*c-d)/e+(f-g)*h)/(i+j)-k+l-(m+n)   ------>   a b + c * d - e / f g - h * + i j + / k - l + m n + -




评分

参与人数 2荣誉 +5 鱼币 +35 贡献 +5 收起 理由
wei_Y + 30
~风介~ + 5 + 5 + 5 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 02:58:33 | 显示全部楼层
Xiao_肚oO 发表于 2015-1-17 01:33
这样行不行?看了一下,没有用这个方法的,先贴出来吧,有什么不对的请指正哦!这个只 ...

a+d*(-b-c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 03:49:26 | 显示全部楼层

回帖奖励 +3 鱼币

刚看到,唉,可以自己还得努力啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 03:55:38 | 显示全部楼层

只支持字母系数,字母就没有负号一说了嘛 b=(-b)

评分

参与人数 1鱼币 +30 收起 理由
wei_Y + 30

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 11:40:14 | 显示全部楼层

回帖奖励 +3 鱼币

支持一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 11:50:46 | 显示全部楼层
戴宇轩 发表于 2015-1-17 10:56
适用于Python 2 和 Python 3

虽然不知道怎么走起来,但是学到了新函数any()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2015-1-17 12:18:19 | 显示全部楼层

回帖奖励 +3 鱼币

提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-17 12:40:28 | 显示全部楼层
啊啊啊O(≧口≦)O。。。
好难啊。。。

评分

参与人数 1鱼币 +30 收起 理由
wei_Y + 30

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-17 13:09:09 | 显示全部楼层
小龙_h 发表于 2015-1-17 12:40
啊啊啊O(≧口≦)O。。。
好难啊。。。

看看小甲鱼的视频就会有思路了,加油哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 20:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表